【发布时间】:2020-06-04 22:04:46
【问题描述】:
代码如下:
import React, { useState } from 'react'
function App() {
const [a, setA] = useState(1)
setA(2)
return (
<div>
<h1>{a}</h1>
</div>
);
}
错误。太多的重新渲染。 React 限制渲染次数以防止无限循环。
为什么会导致死循环?
我认为原因是函数组件只是作为一个渲染函数,所以setState在render函数中会导致死循环。
官方有解释吗?
【问题讨论】:
-
如果您更新状态 - 您的组件会再次重新渲染,并且每次重新渲染组件时都会调用 setA 函数。
标签: javascript reactjs react-hooks