我的状态正在更新,但是视图未重新呈现。
我已经在这里和互联网上的其他地方浏览了许多答案,我很确定自己不会改变自己的状态。 我已经确定状态实际上发生了变化。我不确定还有什么问题。
const mapStateToProps = ({ user }: ApplicationState) => ({
user
});
const mapDispatchToProps = (dispatch: Dispatch) => ({
setUser: (name: string) => dispatch(setUser(name))
});
export default connect<PropsFromState, PropsFromDispatch>(
mapStateToProps,
mapDispatchToProps
)(Login);
export const userReducer: Reducer<UserState> = (state = initialState, action) => {
console.log(state);
switch (action.type) {
case SET_USER: {
return { ...state, user: action.payload };
}
default: {
return state;
}
}
};
<Provider store={store}>
<Login />
</Provider>
class Login extends Component<LoginProps> {
render() {
return (
<View style={styles.container}>
<View style={styles.logoContainer}>
<Image style={styles.logo} source={require("../../assets/images/logo.png")} />
<Text style={styles.title}>UniRide</Text>
<Text style={styles.description}>A social carpooling app for students {this.props.user.user}</Text>
</View>
<View style={styles.formContainer}>
<LoginForm setUser={this.props.setUser} />
</View>
</View>
);
}
}
我已经检查了reducer正在被调用,并且状态正在改变。但是,页面没有重新呈现。