关于前端各页面的数据状态更改后如何始终保持一致?

场景:社区论坛类webapp,包含各类帖子列表、详情页、个人(自己、他人)主页。

如何在某个页面进行点赞、关注、收藏等操作后,保证其他各页面相关数据一致更改状态(一致),避免出现几处的数据状态不一致的情况出现。
(各页面的数据目前是通过不同接口获取)

各位大佬们有什么好的想法或者建议提供下呗,谢谢!

回复
阅读 2.4k
4 个回答

前端定时拉取、或者后端推送。
如果定位是论坛的话没必要这么弄,不是所有数据都非得是最新的,QQ空间和segmentFault的及时性都没这么高,最多也就提示下有更新,然后让用户自己拉取。
如果定位是 IM 即时通讯软件的话,倒是有必要进行消息推送,用 webSocket 什么的。


如果服务器真那么金贵的话, webRTC考虑一下。

新手上路,请多包涵

哪个产品给你的这需求?xx
如果必须要这样做,那就是2楼的两种方式:
1、ajax轮询;
2、websooket订阅/广播。PHP的swoole
如果照上面的方式做,你的服务器亚历山大,甚至崩溃。

可以尝试用懒惰更新法,用户在点赞或收藏后再去后台拉数据同步。

如果采用当前流行的库,那么就可以采用 redux 做全局数据管理,注意,redux 可以单独使用,不需要非得和 react 搭配起来。

这种情况最好不要用 websocket,服务器压力很大的,所以就是每次用户操作了什么功能,直接 ajax 请求,获取到数据,存储到内存中,就可以用 redux 管理数据。

你要是必须做到即时通信, 那么 websocket 是必须的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏