我认为适用于任何状态容器的体系结构问题。我现在使用的是Alt,过去曾经使用过Redux,但总的来说...
说我有博客文章,用户和评论。在数据库中,我将其标准化存储为Blog Posts表,Users表和Comments表,但是Blog Posts和Users都可以通过连接表将Comment关联起来。
在React方面,我也对所有三个实体(BlogPostActions,BlogPostReducer等)进行操作和简化操作。现在,为了提供包含BlogPosts和Comments的页面,我需要获取BlogPosts,然后使用获取注释类似于redux-thunk
。
现在的问题是-如果我有一个显示BlogPosts和Users的页面,并且它们都有评论,那么我该如何构造Comments Reducer / Store?我幼稚的解决方案通常是设置评论列表-操作分派的结果。这就变成了一个无限循环-BlogPosts征求评论,用户征求评论,以获胜者为准触发道具更改,从而触发rerender,从而使整个事情重新开始。
我可以想到几个解决方案-尽管redux文档建议不要这样做,但我很想将评论切成BlogComments和UserComments。我宁愿只保留一个Comment存储,而在Action调度中仅获取我知道我尚未提取的注释。最终,我的单个注释存储将拥有我需要的所有UserComments和BlogComments,并且将停止触发重新提交。我唯一的问题是在Alt中,我似乎无法在Action中访问状态,但我记得在Redux中有此功能。
其中哪些是惯用的Flux / Redux / Alt-y?