React Native - 导航参数对象在多个导航器(包括 SwitchNavigator)中导航时为空



如果导航直接从调用方组件到被调用方组件,则导航参数 (this.props.navigation.state.params( 不为空。

呼叫者>导航器>被叫方

但这是当导航是间接的,父导航器是一个SwitchNavigator

主叫方>父导航员>子导航员>被叫方

父导航器

const App = createSwitchNavigator({
Caller : {screen : Caller},
To : {screen : To},
...
})

从呼叫者导航

this.props.navigation.navigate('To', data)

如果To是被叫方Componentthis.props.navigation.state.params就可以了。当To是如下所示的子导航器时,它将变为 null,该导航器将被调用方组件列为路由

const To = createStackNavigator({
Callee : {screen : Callee},
...
})

如果父导航器是StackNavigator则不会发生

你应该检查反应导航链接的导航选项

或者,您可以将导航作为道具发送给子级,然后从那里将道具发送给另一个道具。

<To navigation={this.props.navigation} />
<Callee navigation={this.props.navigation} />

最新更新