javascript - 添加新项目 CRUD 反应
问题描述
我正在练习一点反应,我想做一个 CRUD,我遇到的问题是添加新元素时。我获得了新数据以到达父级中名为 createNewItem 的函数(我有一个 console.log),但我看不到列表中反映的新项目并添加到第二次单击“保存” "按钮,不是第一个。我失败了什么?谢谢你的帮助。我留下一个带有代码的沙箱。
解决方案
这里的问题setState
是异步的,因此console.log
不会立即显示新状态。为此,您需要使用回调setState
:
createNewItem = event => {
const newList = [event, ...this.state.restoOriginales];
this.setState({ restoOriginales: newList }, () => { // Use callback here
console.log("NUEVO ITEM", this.state.restoOriginales);
});
};
此外,您还需要在保存项目后重定向回主页或以其他方式删除表单。
推荐阅读
- c++ - 基于条件的部分类模板专业化?
- azure - 虚拟机音频设备重命名
- vb.net - 如何使用 vb.net 和 mysqlyog 终极数据库创建注册表单
- sql-server - 如何将“工作日月日时间”转换为日期时间(YYYY-MM-DD)?
- node.js - 如何发送带有条件“CC”的邮件
- google-fit - GoogleFit.authorize 没有响应/工作
- postgresql - 清除 PostgreSQL 中的缓存
- javascript - 是否可以将值从函数返回到函数参数?js
- model - 无法加载模型
- windows - lua.vm.js 构建失败(make (e=2): 系统找不到指定的文件。)