我正在构建一个应用程序,要求用户在进入网站之前达到一定年龄。向用户显示他们必须输入出生日期的表格,然后将该信息保存到本地存储,然后在每次请求时检查该值是否在本地存储中设置。目前在main.js
内的检查代码如下:
let hasRememberedAge = localStorage.getItem('ageVerified')
if (hasRememberedAge !== null) {
store.dispatch(ageVerified())
}
这感觉不对,我的问题是什么是更好的方法来处理这个问题?我应该在每个页面加载时触发一个动作然后触发这些检查吗?如果是这样,dispatch
应该在哪里生活?
答案 0 :(得分:0)
我没有看到任何错误。您可以在创建商店的任何地方执行此操作。
或者,您可以在store.subscribe
回调中序列化州的一部分,并在创建商店之前从localStorage
读取它。您可以将此类持久状态作为第二个参数传递给createStore
以预加载它。