问题标签 [redux-persist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4680 浏览

javascript - 使用 PersistGate 加载屏幕不呈现

我正在使用 redux-persist,我正在尝试渲染一个屏幕,将其传递给 PersistGate 的加载道具。

我做了一些研究,发现我应该将 REHYDRATE 发送到减速器,但这也不起作用。

也许我没有很好地配置我的减速器?我还希望能够将加载道具设置为 null 以避免在应用程序渲染之前闪屏,但结果与将组件传递给渲染相同。

这是我的 index.js 代码

这就是我的 configureStore 文件:

0 投票
1 回答
1616 浏览

react-native - Redux Persist 状态在 rehydration 后为空

我面临一个奇怪的问题。在我切换到在本地服务器上运行的远程开发工具之前,补液在我的应用程序中起作用。现在我可以看到 REHYDRATE 确实被调用了,但之后我的所有状态都保持为空!这可能是什么原因?如果我不使用 devtools 它也不起作用。默认情况下,我所有的减速器都返回未修改的状态。这是配置文件:

`

还有其他人面临类似问题吗?

减速机:

0 投票
0 回答
216 浏览

reactjs - 使用 redux-persist 持久化特定的 redux-form 状态

我已经在我的应用程序中正确设置了 redux-persist。一切都很顺利。我想知道如何持久化 redux-form 的表单缩减器,但仅适用于特定表单,这意味着......仅将应用程序中所有表单的子集列入白名单。我尝试遵循有关嵌套持久化减速器的文档,但出现错误:'state.setIn' 不是函数'。如果我坚持整个表单状态,它可以工作,但我不想坚持所有应用程序表单。特别只有一个。

这是我的根减速器:

这将返回根减速器,然后按如下方式处理:

以及 redux-persist lib 文档中的所有其他代码......瞧。当然这不起作用,它在 @@redux-form/INITIALIZE 操作周围失败

0 投票
1 回答
1044 浏览

reactjs - 调用调度时没有触发减速器

我是 redux 的新手,我在设置它时遇到了麻烦。

每当我单击登录按钮时,我都会尝试调度一个动作。但是减速器没有被调用。使用 Thunk,我可以看到我的操作确实被调度了。每当我单击登录按钮并且我在 LoginAction.js 中成功使用了 console.log 时,我的终端都会打印上一个状态、当前操作和下一个状态。

也就是说,发出的动作似乎并没有要求我的减速器采取行动。我在我的减速器中尝试了 console.log ,它没有打印任何东西。Thunk显示的当前动作也显示为空,我的initialState没有改变

登录.js

登录动作.js

在 LoginAction.js 中,我的 console.log 打印“in request”、“in receive”和“fail :(”。但是,我通过打印有效负载的内容来确保 HttpRequest/Fetch 成功

LoginReducer.js

我的控制台中没有打印 LoginReducer.js 中的任何内容

store.js

我的怀疑是我的 store.js 有问题,但我无法弄清楚。

这是我在网站上的第一个问题,英语不是我的母语。如果有不清楚的地方需要澄清,请询问

编辑:这是来自 thunk 的日志

0 投票
0 回答
610 浏览

javascript - 使用 redux-persist 和 aws-amplify 持久化用户

我正在尝试在我的 React-native 应用程序中保持用户连接。

我在用着 :

这是我当前的代码:

我正在使用带有 redux-perist 的默认配置:

我唯一想要的是在用户重新运行应用程序时从“再水化”存储(由 redux-persist 提供)中检索 jwtToken。

我没有找到有关这些库关联的信息。

希望有人可以帮助我。

0 投票
3 回答
1626 浏览

reactjs - redux-presist 不更新本地存储

我有一个购物篮减速器,其中包含我的购物篮和购物篮内容将是这样的:

我用 redux-persist 坚持它,当一个新对象从篮子数组中添加或删除时它工作得很好,但是当我像这样更新一个孩子时:

刷新后,每个项目的页数将为 1!

这是我的rootReducer:

0 投票
2 回答
2073 浏览

javascript - 如何读取图像 blob url 或将其转换为图像?

我有一个存储在本地存储中的图像。加载时显示图像。

文件对象如下所示:

当我刷新页面并尝试再次加载预览时,它不显示图像,并且文件对象看起来不同:

是否可以从此网址读取图像?或者如果没有完整的文件对象就不可能渲染图像?

0 投票
1 回答
3405 浏览

reactjs - Redux-persist 不断加载

动机

我想在页面刷新/重定向时保留用户信息,但我也想在注销操作后清除它。


配置

我只想保留数据,accessReducer这就是它被列入白名单的原因。现在我想以重置所有数据的方式处理注销。为此,我创建了 logoutReducer:

注销减速器

存储和持久化


问题

运行应用程序后,我会获得来自<Loader/>in的加载信息PersistGate

可能的原因

现在我想这是因为我通过logoutReducer了它只引用了其他减速器,这就是配置失败的原因。如何保留用户信息并保留注销清除存储技巧?有没有其他解决方案?任何帮助将不胜感激♥

0 投票
2 回答
4441 浏览

javascript - 仅保留 Reducer 中的某些字段

嗨,在我们的应用程序中,我们有一个 reducer 模式:

此外,由于业务需求,我需要坚持一个 ReduxForm,它是它自己的蠕虫罐......

您可能已经发现,除了数据之外,持久化任何东西都是没有意义的,但是 Redux-Persist 会持久化整个 reducer。过滤和转换的例子有点……在我看来乏善可陈,我一直在努力实现。寻找一个例子

0 投票
0 回答
1100 浏览

android - 我可以确定 AsyncStorage(React Native)会在 Android 上使用 SQLite3 吗?

我正在开发一个 React Native 应用程序(仅限 Android,不支持 iOS),它使用 Redux 和 redux-persist 来存储一堆数据。看起来 redux-persist 后端唯一得到良好支持的选择是 AsyncStorage。 https://github.com/rt2zz/redux-persist#storage-engines

该应用程序启动了一个前台服务,该服务需要读取由 React Native 应用程序持久化的一些状态。前台服务在 Java 和 Kotlin 中实现,并在用户退出应用程序后继续运行。前台服务可以使用 SQLite3 API,如下文所述。

但是,AsyncStorage 文档说“在 Android 上,AsyncStorage 将根据可用的内容使用 RocksDB 或 SQLite”(https://facebook.github.io/react-native/docs/asyncstorage)。有什么方法可以确保 AsyncStorage 将使用 SQLite3,即使 RocksDB 由于手机上安装了一些其他应用程序而存在?每当 RocksDB “可用”时,让我们的应用程序中断会很糟糕。

我看过的其他链接: