我正在尝试这个例子: -
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'。
其实我做错了什么?感谢。