【发布时间】:2019-06-24 10:37:27
【问题描述】:
在我的反应代码中,在一个组件内,我从会话存储中获取一个值(在 useEffect 挂钩内)。打印控制台时,它会显示该值。 但是在渲染(或返回方法)内部,它没有刚刚获取的值。从会话存储中获取时是否存在延迟?
将相同的内容存储在状态中并在渲染中获取后绕过了问题!
let myValue = '';
useEffect(()=>{
myValue = sessionStorage.getItem("someKey");
},[]);
// In the return method
return {
<div>{myValue}</div>
}
为什么从会话存储中获取的值不能立即在渲染中可用?
【问题讨论】:
-
从 'useEffect' 设置私有变量不会导致重新渲染。您可能需要考虑使用
useState,以便您拥有设置值和注册重新渲染的机制。 -
是的!这就是我绕过问题的方法。
标签: javascript reactjs storage react-hooks session-storage