我有一个顶级堆栈导航器:
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} })
答案 0 :(得分:0)
正确的方法是:
props.navigation.state.params.isComingFromProfile