错误:重新渲染次数过多。 React 限制渲染数量以防止无限循环。反应js

2023-12-02

我目前正在学习反应,但我有这个错误

错误:重新渲染次数过多。 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(使用前将#替换为@)

错误:重新渲染次数过多。 React 限制渲染数量以防止无限循环。反应js 的相关文章

随机推荐