前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

子コンポーネントに引数を渡す

課題

React-Router使った子コンポーネントに親コンポーネントのpropsを引数として渡したい

対応

調べたところcloneElementを使えという話が多かったものの、
面倒そうなので簡単なのを探したところrenderを使うことで実現できた。

元々componentを使っていたものを

<Route exact path="/items/:itemId" component={ItemTop}/>

renderに変更する

<Route exact path="/items/:itemId" render={props=> <ItemTop {...this.props}/>} />
<Route exact path="/items/:itemId" render={()=> <ItemInfo item={item}/>} />

違う書き方もありそうだけど比較的コードが少なく済みそうなのでとりあえず良しとする。
なお、上記はReact-Router v4から利用可能な模様。