我想知道 如果我们将数据以某种状态存储在redux中, 突然数据更新为redux 以前的状态会被覆盖吗 还是会保留副本或类似版本(v1,v2) 有人可以指导我吗?
答案 0 :(得分:0)
以前的状态将不会存储,一旦关闭应用程序,“会话”将被清除,将应用程序最小化将看到状态持续存在,永久性数据存储有很多选项,redux-persist是其中之一,而且可能是最容易实现的,还有一个带有react-native的内置选项(但这是最糟糕的选择,因为我发现如果进程花费太长时间,它通常会导致我的应用挂起,我怀疑它阻塞了js线程)。最佳选择是https://realm.io/,它与redux和saga结合使用时是最好的选择,但设置起来有点困难,这对于第一个离线应用程序构建应用程序非常有用,因为您可以检查用户的连接性并拨打电话您的api或您的领域存储。
有关在减速器中添加数据和替换数据的信息,请参见下面的代码示例:
case NEXT_PAGE_SUCCESS:
return {
...state,
busy: false,
msg: action.payload.statusText,
status: true,
data: [...state.data, ...action.payload.data]
}
在上述化简器的情况下,...状态将下降到以前的状态,现在我们还要分配忙:false,这将覆盖旧的忙状态。
现在,如果您查看数据字段,我们将:
[...state.data,...action.payload.data]
这将合并先前的state.data和新的state.data而不是覆盖列表。
我希望这能回答您的问题?
劳埃德