javascript - TODO-list:如何在服务器响应之前立即在列表中添加项目?
问题描述
我正在使用 React 创建一个 TODO 列表。
当用户填写完所有字段并按下添加按钮时,我想立即将该项目添加到列表中,然后将该项目发送到服务器。然后,服务器以数据库中该项目的 ID 响应。
问题是我的应用程序使用项目 ID 来记住当前选择了哪些项目。另外,我想在浏览器的地址栏中使用 ID。但是服务器上正在生成项目 ID,所以在服务器响应之前我无法弄清楚。
我有什么选择?
解决方案
您可以轻松地将项目添加到反应列表中,而无需依赖服务器端 ID。
如果你真的需要后端生成的ID,我认为这是不可能的。
您当然可以使用一些临时的前端 ID(例如,基于有根据的猜测)并在后端响应后将其替换为实际 ID,但这显然需要一些模糊的簿记和映射。
这还取决于您的 ID 的工作方式。如果一个item-ID是用户和item的组合,上述应该是可行的。
推荐阅读
- python - Method Not Allowed 请求的 URL 不允许使用该方法。405 错误
- c# - 在统一的 2D c# 中,如何旋转像几何破折号这样的对象?
- arrays - 按指定顺序放置两个 numpy 数组 Numpy Python
- c# - 检测到主窗体已关闭并中止线程
- flutter - 将 ScrollBar 附加到 PageView 的顶部
- swift - 当数组值随 SwiftUI 变化时如何更新视图中的 ForEach
- flutter - 在 Dart/Flutter 中流式传输时出现 StateError(错误状态:元素过多)
- postgresql - Spring Boot + PostgreSQL:找不到创建 Camunda 表的模式
- reactjs - 在反应钩子内延迟执行
- sas - 使用 MAGNIFY ODS 样式链接颜色与背景冲突