【原创】解决react-navigation子组件获取到父组件传递过来参数为undefined的问题

blogdaren 2018-08-05 抢沙发 1174人次

运行环境

software version
react-navigation 1.0.0-beta.11
react-native 0.44.2

问题背景

使用navigation.dispatch(resetAction:NavigationActions对象)时,目标路由获取到父组件传递过来参数为undefined,即:

this.props.navigation.state.params == undefined

问题源码

// 跳转到首页
const resetAction = NavigationActions.reset({
    index: 0,
    actions: [
        NavigationActions.navigate({
            routeName: 'Home',
            params:{"username":username},
        })
    ]                                                                                                                               
});
this.props.navigation.dispatch(resetAction);

问题原因

BUG...

解决方案

使用 NavigationActions.init() 代替 NavigationActions.navigate() ,修复后的源码如下:

// 跳转到首页
const resetAction = NavigationActions.init({
    index: 0,
    actions: [
        NavigationActions.navigate({
            routeName: 'Home',
            params:{"username":username},
        })
    ]                                                                                                                               
});
this.props.navigation.dispatch(resetAction);


版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】解决react-navigation子组件获取到父组件传递过来参数为undefined的问题

发表评论:

您的昵称:
电子邮件:
个人主页: