gpt4 book ai didi

javascript - session 存储在获取时是否有延迟?

转载 作者:行者123 更新时间:2023-11-30 08:19:17 27 4
gpt4 key购买 nike

在我的 react 代码中,在一个组件内,我从 session 存储中获取一个值(在 useEffect 钩子(Hook)内)。当控制台打印时,它显示值。但是在渲染(或返回方法)内部,它没有刚刚获取的值。从 session 存储中获取时是否有延迟?

在将状态存储在 state 中并在 render 中获取后解决了这个问题!

let myValue = '';
useEffect(()=>{
myValue = sessionStorage.getItem("someKey");
},[]);
// In the return method
return {
<div>{myValue}</div>
}

为什么从 session 存储中获取的值不能立即在渲染中使用?

最佳答案

这里的问题是您期望变量值更改会触发重新渲染。 React 不会以这种方式工作,如果你想更改一个值并让它重新渲染,你将需要另一种方法:

考虑:

const [myValue, setMyValue] = useState('');

useEffect(()=>{
setMyValue(sessionStorage.getItem("someKey"));
},[]);

// In the return method
return {
<div>{myValue}</div>
}

关于javascript - session 存储在获取时是否有延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56734800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com