React Native:无法使用react-navigation传递params

时间:2017-11-26 09:04:18

标签: react-native react-navigation

我有一个顶级堆栈导航器:

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返回undefinedprops.navigation.state只有keyrouteName。 我试过这样做,也没用:

this.props.navigation.navigate('UserInfo', {}, { type: 'Navigate', routeName: 'PersonalTab', params: {isFromEdit: true} })

1 个答案:

答案 0 :(得分:0)

正确的方法是:

props.navigation.state.params.isComingFromProfile