2016-05-11 7 views
0

それぞれの子についての情報が必要なラッパーコンポーネントがあるとします。その情報を転送するために小道具を使用するのは悪い考えですか?たとえば :コンポーネント属性を使用しないようにするのは悪い習慣ですか? React

<MakeColorful> 
<div color="green">green</div> 
<div color="red">red</div> 
</MakeColorful> 

MakeColorfulがchild.props.colorを経由して、これをアクセスすることができました。 これは悪いパターンですか?良い選択肢はありますか?

答えて

1

IMO、これは悪いパターンであるというあなたの勘違いは良いものです。ラッパーとあなたが尊敬しているのは子供の間に契約はありません。他の開発者が入ってきて<MakeColorful>を使いたいとしたら、子要素にその小道具が含まれていることを確認するために何も必要ありません。

親と子の間で小道具を共有する必要がある場合は、親に小道具を提供し、必要に応じてそれらの小道具を子供に追加させます。

解決しようとしているユースケースの詳細や説明がなくても、代替案を提示することは困難です。

+0

私は両方の解決策がかなりハックしていると思いますが、ここで明確な答えはないでしょうが、OPの解決策では、彼はまだchildren:PropTypes.shape({props:PropTypes.shape({color:PropTypes .string.isRequired})}) 'あなたが指定した懸念をカバーするための' 'の小道具の検証のために。 – Kujira

関連する問題