我应该如何为这样的多记录编辑设计redux架构?
目前,我在每个Tag组件中存储错误。在场模糊我做验证并更新this.errors。如果没有错误,我会进行API调用并返回错误我更新错误。
我想save({tag})应该处理验证/保存/ udate / server错误,但是我很担心reducer应该如何“找到”商店中的标签。它应该是索引还是id?如果通过id,我认为哪个更好,那么我怎么知道对象是否持久存在? (我存储了已保存和未保存的对象)
可以分享一些如何处理它的想法吗?
答案 0 :(得分:0)
可能混合使用持久性和非持久性对象会使状态管理过于复杂,并且"添加标记"应该允许一次只添加一个具有自己的state / reducer" newTag"的对象。这将更接近常规CRUD工作流程,其中我们有索引/新/编辑的单独页面。
唯一的问题是如何管理错误状态。当用户在其他页面上删除Category并使某些Tags无效时,我想在状态中存储错误的原因是用例。然而,这可以通过不同的方式解决:如果用户删除了类别,我们将删除与其相关的所有标签。如果不需要(假设您不想删除Post因为类别被删除),那么我可以再次构建一个名为" postsWithoutCategory"的专用状态/减少器。并在此基础上通知用户某些帖子缺少类别。然后整个"标签" state / reducer成为常规的CRUD状态/ reducer并且错误在外部或redux中管理 - 在表单组件中(作为this.errors或通过Angular2反应式表单验证)。