reactjs - 如何在服务器(SSR)上持久化 redux 用户登录
问题描述
我有一个应用程序可以在客户端上按预期工作,用户登录等。没问题。
我想为用户在登录后可以查看的组件预渲染一些内容,但是据我所知,您无法将存储保存在服务器上。这是有道理的,因为商店经常在localstorage
客户端或客户端上持续存在。另外,该redux-persist
软件包会警告您有条件地仅在客户端上持续存在。创建商店时,我正在执行以下操作。这将确保客户端存在并在存在时持续存在。它只保留用户:
if (typeof window !== "undefined") {
persistStore(
store,
{
whitelist: ["user"]
},
() => {
store.dispatch(setPersisted());
}
),
}
请注意,我正在使用 a redux-persist 4.9.1
,因为我在迁移到 v5.x 时遇到了麻烦。
那么,如果 store 不能持久化在服务器上,我们如何预渲染只有登录用户才能看到的东西呢?我完全错了吗?
解决方案
推荐阅读
- text - 情感词密度
- java - 如何确保我正在检查未选中 selenium java 的复选框
- javascript - react 重新渲染的条件是什么
- xml - 使元素的内容在 xsd 中唯一
- imageview - Android ImageView @drawable 选项没有出现
- python - 位置已被占用的时间的数据结构,可以快速更改这些时间
- python - 一个列表理解中的多个函数取决于条件
- angular - Angular FormArray 清除字段中的数据
- python-3.x - 具有非零初始条件的 Python3 ode 求解器失败
- python - 来自 to_datetime() 的奇怪行为