我们正在创建一个 React 应用程序,它在多个位置具有基本 CRUD 操作的列表。基本的例子当然是:
- 填写输入以获取项目名称,单击提交
- 向服务器发送请求
- 成功时触发回调
- 使用响应数据更新项目列表
我希望这个操作是完全乐观的:
- 填写输入以获取项目名称,单击提交
- 使用给定名称使用项目更新列表
- 向服务器发送请求
- 成功时触发回调
- 使用响应数据更新列表中的项目
因此,在第一个示例中,我们将简单地从响应中创建一个项目并更新应用程序状态。在第二个示例中,我们制作项目,当响应返回时,我们需要找到正确的项目。
这些项目从服务器返回时具有 id。如果 item 有一个 id,那么更新当然非常简单。第二个示例的问题是,我们不知道项目的后端 ID。
我通过提供前端 id 亲自解决了这个问题,该 id 仅用于在回调中引用正确的元素。我和我的同事不太喜欢这种方法,因为它有点……凌乱。
处理这种情况的合适、有效的模式是什么?