反应错误:太多重新渲染,当我尝试使用按钮有条件地渲染时

时间:2021-03-15 22:01:24

标签: reactjs

当我尝试使用按钮进行条件渲染时会发生这种情况,我该怎么办?

这是主要功能:

    const hi = () => 
    {
        if (qajo)
        {
            return (
                <>
                    <a href="#" className="btn btn-dark">Email</a>
                    <a href="#" className="btn btn-dark">Phone</a>
                </>
            )
        }
    }

这是主要的回报:

return (
  <>
    <a href="#" className="btn btn-dark" onClick={() => setQajo(true)}>Request a quote</a>

    {hi}
  </>
)

一开始我有一个 useState 变量,叫做 qajo:

    const [qajo, setQajo] = useState()

    setQajo(false)

1 个答案:

答案 0 :(得分:0)

当您调用 setQajo 组件更改状态时,React 尝试重新创建它们.. 但是当组件重新创建时 setQajo 再次更改状态.. 永远不会结束循环。以这种方式设置初始状态:

const [ qajo, setQajo ] = useState(false)