我有一个顶级堆栈导航器:
const routeConfiguration = {
Login: { screen: Login },
Home: { screen: HomeWrapper,
navigationOptions: {
header: null
}
},
UserInfo: { screen: UserFormsTabBar,
navigationOptions: {
header: null
}
},
Profile: { screen: ProfilePage }
}
在 Profile
中,我试图将params传递给 UserInfo
,这是嵌套的tabnavigator。此选项卡导航器的每个屏幕依次不忘记提及StackNavigator
,所有这些都用Redux
包裹。
在个人资料中:
goToTabs = () => {
this.props.navigation.navigate('UserInfo', {isComingFromProfile: true})
}
在UserInfo中,第一个选项卡屏幕:
class FirstTab extends Component{
constructor(props){
super(props);
console.log('passed params: ', props.navigation.state.isComingFromProfile)
}
}
上述console.log
返回undefined
,props.navigation.state
仅具有key
和routeName
。我尝试这样做,也没有用:
this.props.navigation.navigate('UserInfo', {}, { type: 'Navigate', routeName: 'PersonalTab', params: {isFromEdit: true} })
正确的方法是:
props.navigation.state.params.isComingFromProfile