将params传递给使用react-navigation进行路由但结果未定义

时间:2018-06-05 07:53:06

标签: reactjs react-native react-navigation

嗨,我是新手,对原生做出反应并尝试学习一些东西。我试图从其他API Laravel传递数据。这是我的代码

if (responseData.items) {
          this.props.navigation.push('SearchResults', {users: responseData.items });
          } else {
            this.setState({ errorMessage: 'No results found'});
          }

我的代码导航器

const Sp2hpStack = createStackNavigator({

搜索:SearchScreen,   SearchResults:SearchResults, });

我的代码结果

render() {
const { users } = this.props.navigation.state;
console.log(users);
return (
  <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
    <Text>email : {users.email} </Text>
  </View>
);

}

但结果未定义 请帮帮我

2 个答案:

答案 0 :(得分:1)

要从路线获取参数,您可以通过 this.props.navigation.getParam(&#39; users&#39;,[])

访问它们

PS:空数组是可选的,如果用户未定义,这将是默认值

答案 1 :(得分:0)

请尝试使用 - const { users } = this.props.navigation.state.params;而不是const { users } = this.props.navigation.state;