这是一个很难解释的问题,所以我会努力的!
我一直在学习React,并决定尝试从头开始构建Todo List应用。我想实现一个“推送通知”系统,当您说将待办事项标记为完成时,它将在左下角弹出,例如“ walk狗已被更新”。然后几秒钟左右,它将被从用户界面中删除。
相当简单的目标,并且在大多数情况下我已经实现了目标……但是……如果您迅速将一些待办事项标记为完成,它们将从用户界面中删除,然后重新渲染回去!
我尝试了许多我可以想到的从状态中删除项目的方法,甚至更改了组件插入的位置等。
这可能是一个noobie问题,但我仍在学习!
这是代码沙箱的链接,这是我想到的显示我所在位置的最佳方法:
https://codesandbox.io/s/runtime-night-h4czf?file=/src/components/layout/PageContainer.js
https://codesandbox.io/s/runtime-night-h4czf?file=/src/components/parts/Alert.js
任何帮助,不胜感激!
如果发生异步事件,则已执行事件处理程序范围内的值可能已过期。
更新值列表时,例如,使用接收先前状态的更新方法。
setAlerts(previousAlerts => {
const newAlerts = (build new alerts from prev alerts);
return newAlerts;
});
而不是直接使用alerts
从中获得的useState
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句