React native 反应导航未定义的参数
我试图将params传递到一个新的屏幕,并像前面提到的那样实现它 我有以下React native 反应导航未定义的参数,react-native,react-navigation,React Native,React Navigation,我试图将params传递到一个新的屏幕,并像前面提到的那样实现它 我有以下TouchableOpacity按钮。 <TouchableOpacity onPress={() => { this.props.navigation.navigate('SomeScreen', { title: 'Title', subTitle: 'Subtitle', }); }} > 但是上面的标题未定义: { params: undefine
TouchableOpacity
按钮。
<TouchableOpacity
onPress={() => {
this.props.navigation.navigate('SomeScreen', {
title: 'Title',
subTitle: 'Subtitle',
});
}}
>
但是上面的标题
未定义:
{ params: undefined, routeName: "Somescreen", key: "id-xx" }
我的根堆栈:
render() {
const { navigation } = this.props;
const title = navigation.getParam('title');
}
const RootStack = createStackNavigator({
SomescreenA: { screen: SomescreenA },
SomescreenB: { screen: SomescreenB },
}, { headerMode: 'none' });
为什么我的参数在新屏幕中未定义?不幸的是,我遇到了
导航(路线、参数等)
无法通过参数对象的情况,就像您所做的那样
作为一种解决方法,我使用了另一个变量--导航({routeName,params,action,key})
,您可以找到它。它总是有效的。公认的答案解决方案对我不起作用,因此显然,如果您使用子对象
渲染组件(在屏幕选项中)并将路由作为道具传递,如果您面临目标屏幕获得未定义的参数的情况,它会起作用,可能您有一个嵌套的导航堆栈
在这里,您必须通过以下方式将参数传递给navigate方法:
navigation.navigate('Root', {
screen: 'Settings',
params: { user: 'jane' },
});
有关更多信息,请阅读官方文件中的本页:
你试过了吗?@Kraylog,谢谢!我目前有以下功能(可以使用):this.props.navigation.navigate({routeName:'SomeScreen',params:{title:'title',subTitle:'subTitle'}});页面中有:this.props.navigation.getParam('title');如果你把你的建议作为答案,我会欣然接受的!伟大的很高兴它成功了。补充回答。