Next.js - 页面刷新/ SSR丢失了_app.js状态

时间:2018-06-07 20:44:11

标签: javascript reactjs state next.js

不确定这是渲染服务器端的功能还是副作用,但每当我刷新页面或直接从url输入访问页面时,存储在公开的_app.js页面中的任何状态都将丢失。 Next.js宣称_app.js页面用于"在导航页面时保持状态",所以这应该有效。

使用<Link>组件路由客户端时保留所有状态。

我试图在不使用cookie /会话/本地存储的情况下存储非敏感数据。

任何人都可以验证这是最好的方法,还是应该使用其中一种技术?

如有必要,很高兴发布代码。

3 个答案:

答案 0 :(得分:0)

如果您的应用程序足够大,请使用redux进行状态管理。要恢复页面刷新状态,可以使用redux-persist,它可以与next-redux-wrapper集成。基本上,redux-persist将您的redux存储保存在本地存储中。您可以参考以下链接:

https://github.com/rt2zz/redux-persist https://github.com/kirill-konshin/next-redux-wrapper

答案 1 :(得分:0)

Next.js应用程序使用SRR,这意味着您的应用程序是通用的。在不刷新的情况下浏览页面时,这发生在客户端,而刷新页面时,则发生在服务器端。您可以使用cookie来保留所需的数据,因为您可以同时访问客户端和服务器上的cookie,因此在刷新页面时,您可以检查cookie是否存在并根据此进行一些操作。

答案 2 :(得分:0)

我和你的处境相同。所以我写了一个样板示例。请访问示例和代码,以在您的应用中实现此目的。 https://github.com/fazlulkarimweb/with-next-redux-wrapper-redux-persist

counter example

到目前为止,还没有Next社区的官方示例。我认为尝试找到解决方案的人会从样板中获得帮助。