加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native – React Navigation Reset可以添加参数吗?

发布时间:2020-12-15 20:15:19 所属栏目:百科 来源:网络整理
导读:我仍然是新的反应导航. 我想在登录成功后重置路由信息.但是有一些参数,比如我希望传递给主页面的登录信息. import { NavigationActions } from 'react-navigation'const resetAction = NavigationActions.reset({ index: 0,actions: [ NavigationActions.nav
我仍然是新的反应导航.
我想在登录成功后重置路由信息.但是有一些参数,比如我希望传递给主页面的登录信息.

import { NavigationActions } from 'react-navigation'

const resetAction = NavigationActions.reset({
  index: 0,actions: [
        NavigationActions.navigate({ routeName: 'Profile',params:{user:this.state.username}})
      ]
  })
    this.props.navigation.dispatch(resetAction)

在Profile页面中,我想访问params,所以我使用它:

constructor(props){
super(props)
this.state = { username: this.props.navigation.state.params.user,}

但我收到:undefined不是控制台日志中的对象(评估’_this.props.navigation.state.params.user’).
我可以知道如何获取参数?谢谢

解决方法

您可以在react-native stack导航器的reset操作中传递params,如下所示: –

const resetAction = NavigationActions.reset({
            index: 0,actions: [ 
                NavigationActions.navigate({ 
                    routeName: 'ScreenName',// name of the screen you want to navigate
                    params: {
                        paramsKey: paramsValue   // this second parameter is for sending the params
                    } 
                })
            ],});
this.props.navigation.dispatch(resetAction);

并从导航状态参数获取第二个屏幕中的参数值,如下所示: –

static navigationOptions = ({navigation,screenProps}) => {
    const params = navigation.state.params || {};   // You can get the params here as navigation.state.params.paramsKey

    console.log("CompareScreen product_id:",params.paramsKey);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读