从LocalStorage添加和检索项目是否有任何延迟?

时间:2017-05-25 17:41:30

标签: javascript reactjs local-storage

我正在使用大型React App。在我的顶级父组件中,我通过Flux操作调度将一些信息(来自登录服务的用户数据)添加到本地存储。一旦调度该动作,就会呈现应用程序的其余部分,但某些组件的可见性取决于本地存储中该数据的状态(即用户读取权限)。请注意,当我查询收集数据以填充这些组件时,这在服务器端都经过验证,我只想以最有效的方式呈现它们。

由于在调度添加权限数据的Action之后才尝试呈现这些组件,我是否可以假设权限数据可用于从子组件的构造函数/ componentWillMount中的本地存储读取?或者我是否需要处理写入本地存储和从中读取之间的潜在延迟?

编辑: 根据下面的评论,我可以在Store中存储我的用户权限,而不是解决该问题。

但是,我还从登录服务获取API的URI,该URI可能会因用户而异。此URI用于函数中的ajax调用,这些函数由挂载子组件时调度的操作调用。由于这是一个静态实体,而不是状态的一个组件,因此本地存储似乎是在商店中保存它的更好的地方。所以上面的延迟问题仍然代表这个方面,可以安全地假设一旦子组件安装并且触发了ajax调用,URI就可以从本地存储读取吗?或者我是否需要处理潜在的延迟。

1 个答案:

答案 0 :(得分:1)

对localstorage的调用是同步的,因此您可以安全地假设,如果您在localstorage中设置了一个值,它将在未来的代码行执行之前完成。