React Native - 无法获取已通过导航器传递的参数(从堆栈导航器到抽屉导航器)。接收:对象未定义

时间:2017-11-11 15:36:36

标签: android react-native navigation-drawer stack-navigator

params已经通过,我可以在日志中看到它们但我无法访问它们。屏幕1是登录屏幕,位于堆栈导航器中,屏幕2是抽屉导航器中的配置文件屏幕。

在第一屏中:

this.props.navigation.navigate('ProfileRoute', {name: data.name});

上面的行工作,并选择正确的数据传递。 params成功通过,我可以在日志中看到这一点。

在屏幕2中:

我试图通过各种方式“捕获”或“召唤”传递的参数。

1

<Text style={styles.name}>{this.props.navigation.params.name}</Text>

2

<Text style={styles.name}>{this.props.navigation.state.params.name}</Text>

3

 <Text style={styles.name}>{this.naviation.params.name}</Text>

我查了一下,第一种方式似乎是最推荐的,但我仍然收到指向行this.props.navigation.params的第一部分的未定义对象错误

我已经读过,当请求的参数没有值时,会发生未定义的对象错误。但是我可以在日志中看到这个参数有一个值。

是否有一种特定方式可以传递数据并在两种不同类型的导航器之间调用参数?

1 个答案:

答案 0 :(得分:0)

这最终对我有用....

在上一页/屏幕内

var {params} = this.props.navigation.state; 
let name = params.name;

在下一个屏幕内

<Text>{name}</Text>
返回

中的

.selectListItem(title, item, callFunction=True)
.changeOptionBox(title, newOptions, index, callFunction=False)

注意:数据就是我所说的从我的db

的响应中得到的信息