React でカスタムコンポーネントを作るとき、コンポーネントの子要素には this.props.children でアクセスできます。 この this.props.children はそのままレンダリングすることもできるのですが、何かしらの Props を渡したくなったらどうするのでしょうか。 ざっくり調べた感じ Stack Overflow とか海外のブログにしか情報が無いようだったのでまとめてみます。 TL;DR いきなり結論から、 this.props.children に直接 Props を渡すことはできません。 代わりの方法として、React.cloneElement() で React要素をクローンする時に Props を渡すことができるので、this.props.children をクローンしつつ Props を渡せばいいようです。 デモを用意しました。 デモ ソース リポ
![React で this.props.children に新しい Props を渡す - 無駄と文化](https://cdn-ak-scissors.b.st-hatena.com/image/square/0b5250735e3db3791e1e53194edf9c40b731216c/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftodays_mitsui%2F20160814%2F20160814183151.png)