react-native - 状态更新后组件未重新渲染 - 无状态破坏
问题描述
我的状态正在更新,但是视图没有重新呈现。
我在这里和互联网上的其他地方查看了许多答案,我很确定我没有改变我的状态。我已经确保状态实际上发生了变化。我不确定还有什么问题。
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>
);
}
}
我检查了减速器是否被调用,并且状态正在改变。但是,页面不会重新呈现。
解决方案
推荐阅读
- python - 使用多个后缀扩展名重命名 CSV 文件
- javascript - 无法在我的 React App 上同时更新多个状态属性
- ruby - 如何读取终端中的最后一行并使用 ruby 将其保存在 var 中
- regex - Ansible 2.5.5 - “替换”模块中的属性之前不起作用
- r - 如何整理字符向量中用下划线分隔的单词
- javascript - 使用链接按钮打印 div ta 的内容
- mongodb - mongodb加减一查询(减去两个查询结果)
- python - Mixer.music.play() 在 mu-editor 中有效,但在终端中无效
- excel - ODBC 连接和 MS 查询 - 我可以让它在 Mac 上工作吗?
- git - 强制推送基础分支后如何更新我的功能分支。我们只使用变基,禁止合并