javascript - ReactJS:SetState 似乎没有触发
问题描述
我的app.js
文件中有这段代码:
componentDidMount() {
var newData = {...data};
console.log("New Data: ", newData);
this.setState({data: newData}), () => {
console.log("New state: ", this.state.data);
});
}
在控制台日志中,我有:
新数据:{name: {…},添加:{…},选择:Array(1)}
但是,我没有输出console.log("New state: ", this.state.data);
如果我从 '.then()' 中取出控制台日志,我会得到以下控制台输出:
新状态:[]
我是新来的反应如此详细的答案将不胜感激。谢谢你。
解决方案
这是因为您没有通过正确的回调方式。它会是这样的:
this.setState({data: newData}, () => {
console.log("New state: ", this.state.data);
});
推荐阅读
- react-native - 在 React Native 中使用 AppContainer 问题的所有页面中使用相同的自定义标题
- python - 如何使用 Tkinter 在 Python 中完成我的计算器?
- elisp - 无效的函数 Elisp
- ruby-on-rails - 在升级到 Rails 6.beta 时解决 gem 依赖问题
- javascript - 了解类的属性
- python - 如何在 Xlsxwriter 中锁定滚动?
- python - 如何指定要激活功能的按钮?
- javascript - 使用不同嵌套深度更新对象值的函数
- node.js - MongoDB GeoJSON $near AssertionError
- php - 如何制作一个只接受两个人在 PHP 中进行会话的登录系统?