React Navigation - 将更新后的状态传递给下一个视图

时间:2018-06-05 05:57:55

标签: react-redux react-navigation

我正在尝试这个例子: -

https://github.com/react-navigation/react-navigation/tree/master/examples/ReduxExample

LoginScreen.js - 我添加了一个带有一些参数的按钮

const LoginScreen = ({ navigation }) => (
  <View style={styles.container}>
    <Button
      onPress={() => navigation.dispatch({ type: 'Login2', params : {name : 'Peter Pan', gender : 'male'} })}
      title="Log in"
    />
  </View>
);

reducers / index.js - 我试图更新状态并将其传递给'components / HelloScreen'

case 'Login2':
  const newState =  {
    ...state,
    name : 'Peter Pan'
  };

  nextState = AppNavigator.router.getStateForAction(
    NavigationActions.navigate({ routeName: 'Hello' }),
    newState
  );

  break;

当console.log为newState时,我可以看到一个新项目'name'

HelloScreen.js

class HelloScreen extends React.Component {
    render() {
        const { navigation } = this.props;
        console.log(navigation);
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>
                    Hello Screen by { navigation.state.name }
                </Text>
            </View>
        );
    }
}

在HelloScreen上,我希望它会显示新状态的名称,但事实并非如此;当console.log navigation.state时,我看不到项目'name'。

其实我做错了什么?感谢。

0 个答案:

没有答案