我目前正在学习反应,但我有这个错误
错误:重新渲染次数过多。 React 限制渲染数量以防止无限循环。
这是代码
const [Status, setStatus] = useState(false);
if (sessionStorage.getItem("token")) {
setStatus(true);
}```
您正在渲染组件时进行状态更改。通过进行状态更改,您将触发新的渲染,因此您正在创建渲染循环。
你必须使用useEffect
钩子以便在第一次加载时将本地状态设置为令牌值。这是文档:
https://reactjs.org/docs/hooks-effect.html
在你的情况下,你必须更换:
if (sessionStorage.getItem("token")) {
setStatus(true);
}
by:
useEffect(() => {
if (sessionStorage.getItem("token")) {
setStatus(true);
}
}, [])
如果您只想在第一次渲染组件时触发它,则可以将依赖项数组保留为空,或者为其提供依赖项,如果它们发生更改将触发useEffect
again.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)