2014-12-01 119 views
1

好吧...让我们来看看。我有一个包含多个项目的列表组件:React Flux商店和硬刷新

<List /> 
    <Item selected={true} /> 
    <Item selected={false} /> 
    <Item selected={true} /> 
... 

这份名单包含组件和被保存在流量存储,并将其传递给物品作为道具状态(选中项目)。如果我在列表中,并刷新浏览器,商店数据(如此选择的状态)就会消失(没关系)。

如果我点击一个项目,然后我回去,列表状态(来自商店)保存(良好)。

问题是,如果我点击一个项目,我刷新浏览器,我回到列表中,列表存储和状态都消失了(而不是我想要的行为)。

有什么我做错了吗?简单的解决方案,我没有看到?我想使用SessionStorage,但是即使刷新列表,状态也会保留。

+1

当你将它们存储在“ListStore”中时,你在哪里存储东西?它是一个内存存储吗?如果是这种情况,那么刷新浏览器将导致商店刷新到原始状态。 – thataustin 2014-12-01 19:19:01

+0

是的,这是真的。实际上,GMail具有相同的行为,所以我认为这应该被认为是正常的。 – 2014-12-02 18:19:38

+0

您可以使用sessionStorage,并在应用程序加载时从中删除。这将允许您选择什么时候保留以及何时不想通过在sessionStorage中添加或删除需要处理的数据。 – thataustin 2014-12-02 19:16:52

回答