Redux文档的第一个原理是:
整个应用程序的状态存储在单个存储中的对象树中。
我实际上以为我很好地理解了所有原则。但是我现在对应用程序的含义感到困惑。
我知道,如果应用程序只是网站中复杂的小部分之一,并且仅用一页即可工作。但是,如果申请意味着整个网站怎么办?我应该使用LocalStorage还是cookie或其他保留状态树的东西?但是如果浏览器不支持LocalStorage怎么办?
我想知道开发人员如何保留其状态树!:)
如果您想在浏览器刷新期间保持Redux状态,最好使用redux中间件来实现。查看redux-
persist
和redux-
storage
中间件。他们都试图完成存储redux状态的相同任务,以便可以随意保存和加载它。
-
编辑
自从我重新讨论了这个问题已经有一段时间了,但是看到另一个问题(尽管答案更高)会鼓励您提出自己的解决方案,我想我会再回答一次。
在进行此编辑时,两个库都在最近六个月内进行了更新。我的团队已经在生产中使用redux-persist几年了,没有任何问题。
尽管这似乎是一个简单的问题,但是您会很快发现,推出自己的解决方案不仅会导致维护负担,还会导致错误和性能问题。我想到的第一个例子是:
JSON.stringify
并且JSON.parse
不仅会在不需要时损害性能,而且还会引发错误,而在诸如redux存储之类的关键代码中未处理这些错误时,可能会导致应用程序崩溃。综上所述,对于缩小的3kB +压缩(在此编辑时),这不是问题,我要求我的团队自行解决。
问题内容: 我正在使用React,React Router和Redux创建一个网站。许多路由(页面)需要用户登录。如果用户未登录,则可以重定向到登录页面,如下所示: 请查看代码,如果用户未登录,我使用onEnter钩重定向到’/ login’路由。用于检查用户是否已登录的数据位于商店中,它将在用户登录后更新。 它工作正常,但是问题是当我刷新页面时,存储被重置并且用户未重新登录状态。 我知道发生这种
问题内容: 当我从一个视图控制器移动到另一个视图控制器时,第一个控制器上的开关会重置自身,并且不会保持其状态。查看其他控制器后,如何恢复状态?以及在关闭应用程序后如何使其保存状态。我看过各种stackOverflow问题和响应以及Apple文档,但似乎没有任何效果。 这是我的带有开关的View Controller的类。 我是Swift和Xcode的初学者。预先感谢您的时间和帮助:) 问题答案:
问题内容: 主要目的是使徽标文本和菜单保持不刷新,而不会刷新页面或将内容从页面加载到另一个页面时。同样,菜单状态应从一个页面保存到另一个页面。 我在这里找到了可以解决问题的可行解决方案( 您可以使用ajax来获取更新的内容,并使用jQuery将新内容放到页面上,而完全避免刷新。这样做,页面将保持不变。 @ jfriend00) 因此,我尝试使用Ajax插件(称为[AWS)。在AWS选项页,我(想)
HTTP协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态 客户端与服务器端的一次通信,就是一次会话 实现状态保持的方式:在客户端或服务器端存储与会话有关的数据 存储方式包括cookie、session,会话一般指session对象 使用cookie,所有数据存储在客户端,注意不要存储敏感信息 推荐使用sesison方式,所有数据存储在服务器端,在客户端cookie中存储sessio
问题内容: 我正在使用POST方法。我需要创建一次,并且应该使用Keep Alive Connection。但是我认为,它每次都会建立一个新的连接。 因此,我需要使用 保持活动 连接。 这是我的代码段,很多帮助将不胜感激。 而且logcat日志是: 问题答案: 10:07:29.746:D / org.apache.http.headers(1529):>>连接:保持活动 您正在要求保持活动状态。
问题内容: 我有以下代码片段,想知道是否有可能通过更新来实现此菜单行为: 步骤1.在鼠标悬停 链接1 -—>上,它将转换为1.5em到右侧(已设置); 第2步。在 链接1上, 单击---->菜单按钮也将保持在 页面重新加载时 已经平移的位置) ,直到单击新菜单按钮 (未设置)为止 ), 然后加载另一页 。 注意:“下一个/上一个”按钮的“代码”部分保持不变(或必须编辑,以保持其功能)。 note2