問い合わせフォームの作成を試みております。
以下のように、labelとinput要素の単位でコンポーネント化しようと考えています。
上記イメージ図の単位でコンポーネント化し、label名やプレースホルダーをpropsで渡そうと思います。
懸念事項としましては、氏名の入力欄は姓と名でテキストフィールドを二つ持ちますが、住所などの場合はテキストフィールドが一つになります。
また、項目によってはラベルに必須項目を設けたりします。
これらのテキストフィールドの数や必須ステータスをpropsにbooleanで渡し、その結果によってコンポーネント内の構成を切り替えるという手法を考えているのですが、この実装がコンポーネント分割の考え方として正しいのか分からず迷っています。
氏名の場合はテキストフィールドが二つになるので、nameFlgのようなpropsをtrueで渡し、電話番号の場合はフィールドが三つなのでtellFlgをtrueで渡し、それらの真偽値によってreturnするjsxを切り替えるような感じです。
コンポーネントの汎用性は上がるものの、独立性が下がっていたり、jsxの構成が呼び出し時に依存してしまったり、可読性も下がるように感じたので、ご意見をいただきたいです。
氏名であれば氏名用のコンポーネント、電話番号の場合は電話番号用のコンポーネントを別途作成すべきでしょうか。
よろしくお願いいたします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。