在客户端中添加新项目的最佳实践

时间:2019-04-01 06:45:20

标签: django reactjs design-patterns

我有一个客户端从服务器获取的列表。 客户可以添加更多项目,并且它是“自动保存”的,因此无需按按钮。 我的问题是如何管理新的项目ID(可以是多个)。 我是否需要立即转到服务器以获取新密钥?还是可以分配一些密钥ID(例如0-10),然后在自动保存调用中,服务器将知道分配新密钥并通知客户端?

谢谢

1 个答案:

答案 0 :(得分:1)

我的处境与您类似,我发现一个很好的解决方案是使用uuid(由uuid之类的库生成)将新项目乐观地添加到列表中。既用作临时项ID,又用作react元素的key,然后当我从服务器收到201响应时,便用实际ID更新它。

这里的难点是编辑和删除,而该项目仍未保留在服务器上。您只需在服务器响应之前禁用这些选项,就可以避免麻烦。