如果导航直接从调用方组件到被调用方组件,则导航参数 (this.props.navigation.state.params
( 不为空。
呼叫者>导航器>被叫方
但这是当导航是间接的,父导航器是一个SwitchNavigator
主叫方>父导航员>子导航员>被叫方
父导航器
const App = createSwitchNavigator({
Caller : {screen : Caller},
To : {screen : To},
...
})
从呼叫者导航
this.props.navigation.navigate('To', data)
如果To
是被叫方Component
,this.props.navigation.state.params
就可以了。当To
是如下所示的子导航器时,它将变为 null,该导航器将被调用方组件列为路由
const To = createStackNavigator({
Callee : {screen : Callee},
...
})
如果父导航器是StackNavigator
则不会发生
你应该检查反应导航链接的导航选项
或者,您可以将导航作为道具发送给子级,然后从那里将道具发送给另一个道具。
<To navigation={this.props.navigation} />
<Callee navigation={this.props.navigation} />