React NativeのNavigatorIOS
で管理されるシーンについては以下のようにpassProps
でprops
を渡すんだけど、渡した先のthis.props
は更新されない。例えば、以下でthis.props.hoge
が更新されてもHomeScreen
内のthis.props.hoge
は更新されない。issue
にも上がっていて、議論されているが、単純にprops取得関数を渡してやるのがひとまず簡単な回避策。
render() { return ( <NavigatorIOS ref="mainNav" initialRoute={{ component: HomeScreen, title: 'Home', passProps: this.props.hoge }} /> ); }
以下のように。getHoge
を渡してやる。
getHoge() { return this.props.hoge; } render() { return ( <NavigatorIOS ref="mainNav" initialRoute={{ component: HomeScreen, title: 'Home', passProps: this.getHoge.bind(this) }} /> ); }