javascript - Redux如何同步state中的数据?
大家讲道理
大家讲道理 2017-04-11 10:01:55
0
1
248

就以segmentfault的问答系统为例,简化一下,有两个Top Component,一个是Dashboard,一个是User,Dashboard会展示当前的问题列表,User会显示个人信息,同时显示与这个人相关的问题列表,那么在state我设计的model是这样的:

{
    'dashboard': {
        'questions': []
    },
    'users':[
        {
            'id': 1,
            'nickname': 'blabla',
            'questions': []
        }
    ]
}

user和dashboard中可能会有相同的问题,那如何处理两个对象之间的同步呢?比如在User页面我删除了一个问题或者改变了其状态,当切换到dashboard时如何能立即显示出来呢?

我想到的方法:

  • 每次切换页面都从后台刷新,这样保证获取的对象是最新的【但存在的问题是可能有延时,请求也可能失败】

  • 在reducer中查找相关的对象,并做相应的修改【这里给出的其实是一个最简单的例子,在实际项目中,state中的结构要复杂得多,查找对象就会特别麻烦】

或者大家都是怎么设计state来防止这种问题的?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(1)
阿神

单独放questions,不同页面筛选显示。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template