我正在练习一些反应,我想做一个CRUD,我遇到的问题是添加新元素时。 我获得了新数据,以到达父级中称为createNewItem的函数(我有console.log),但是我看不到列表中反映了一个新项目,并且还添加了第二个单击“保存” ”按钮,而不是第一个。我在做什么?谢谢你的帮助。我将代码保留在沙盒中。
答案 0 :(得分:0)
这可能不是处理此问题的最佳方法,但我在您的spark.read.format("kafka")
的{{1}}上方添加了此内容
createNewItem
反应性文档说
App/index.js
基本上所有这些操作都是强制更新父级。老实说,也许有更好的方法来解决此问题,但这是一种适合您的解决方案。
答案 1 :(得分:0)
这里的问题是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);
});
};
此外,您还需要将其重定向回首页,或者在保存项目后删除表格。