gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:56:15 27 4
gpt4 key购买 nike

我对 react 导航还是个新手。
我想在登录成功后重置路线信息。但是,有一些参数,例如我希望传递到主页的登录信息。

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 页面中,我想访问参数,所以我使用这个:
constructor(props){
super(props)
this.state = { username: this.props.navigation.state.params.user,
}

但我收到了: undefined 不是一个对象(评估'_this.props.navigation.state.params.user')在控制台日志中。
我可以知道我应该如何获取参数吗?谢谢

最佳答案

您可以像这样在 react-native 堆栈导航器的重置操作中传递参数:-

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);
}

关于react-native - React Navigation Reset 可以加参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44449025/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com