Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 反应导航未定义的参数_React Native_React Navigation - Fatal编程技术网

React native 反应导航未定义的参数

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

我试图将params传递到一个新的屏幕,并像前面提到的那样实现它

我有以下
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');如果你把你的建议作为答案,我会欣然接受的!伟大的很高兴它成功了。补充回答。