Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 需要关于使用React/Redux或服务器处理复杂状态更新的建议吗?_Reactjs_React Native_Redux_React Redux - Fatal编程技术网

Reactjs 需要关于使用React/Redux或服务器处理复杂状态更新的建议吗?

Reactjs 需要关于使用React/Redux或服务器处理复杂状态更新的建议吗?,reactjs,react-native,redux,react-redux,Reactjs,React Native,Redux,React Redux,考虑这个场景:喜欢一篇文章 当用户喜欢一篇文章时,我希望在不等待服务器响应的情况下立即显示喜欢的文章,立即更新文章的喜欢次数,并在其个人资料上显示用户喜欢的总数。这是在一个操作中更新post实体、postLike实体和user实体 我关心的是显示喜欢的帖子和喜欢的数量,但不关心用户在他们的个人资料上的总喜欢数量 问题 在某些情况下,post-like应该在他们的个人资料中为特定用户显示,而在其他情况下则不显示。还有其他类似的限制和边缘情况 我也不能将上述操作拆分为单独的操作,例如,在安装用户的个

考虑这个场景:喜欢一篇文章

当用户喜欢一篇文章时,我希望在不等待服务器响应的情况下立即显示喜欢的文章,立即更新文章的喜欢次数,并在其个人资料上显示用户喜欢的总数。这是在一个操作中更新
post
实体、
postLike
实体和
user
实体

我关心的是显示喜欢的帖子和喜欢的数量,但不关心用户在他们的个人资料上的总喜欢数量

问题

在某些情况下,post-like应该在他们的个人资料中为特定用户显示,而在其他情况下则不显示。还有其他类似的限制和边缘情况

我也不能将上述操作拆分为单独的操作,例如,在安装用户的个人资料时,将其加载到用户的个人资料中

我有两个选择:

  • 将更新每个状态的逻辑放在Redux中
  • 卸载对服务器不重要的内容,并使用该响应更新状态
  • 选项1意味着拥有许多还原器,这些还原器必须具有适当的逻辑来处理即时更新。因此,这意味着将业务逻辑放在前端并进行维护

    选项2意味着只保留对Redux至关重要的内容,并将其余大部分内容卸载到服务器上,让服务器使用正确的数据返回适当的响应

    示例

    在上述场景中,可以手动添加
    postLike
    ,更新
    postLikes
    计数,并在Redux中更新用户配置文件。否则,它将只更新
    postLike
    和post计数,并等待服务器响应具有更新计数的更新用户,并让一个通用减速机负责更新整个用户

    它基本上可以归结为在前端或后端使用这种逻辑。这是对的,也不是错的,但我想听听其他人对这件事的建议


    在这里采取什么策略比较好?

    听起来您可能对乐观状态更新感兴趣,即使用HTTP请求的预期结果更新前端的状态,并在实际响应返回后进行修补/恢复。网上有很多文章/图书馆可以帮助你。我已经有了这些!