如何解决使用挂钩时无限重发
我已经开始阅读Hooks文档并意识到一些事情。 当我直接使用useState()返回的函数时:
const [count,setCount] = useState(0);
.
.
.
<button onClick={setCount(count + 1)}>+1</button>
反应无限地重新渲染,并给出最大的堆叠到达误差。 为什么会这样?谁能向我详细解释一下?
解决方法
请在您的方法对象调用中添加一个匿名函数。
<button onClick={setCount(count+1)} /> // will run every time.
<button onClick={() => setCount(count+1)} /> // will run once.
,
第一个选项每次都会运行,因为它在渲染上执行,并且总是触发重新渲染,从而创建无限循环。第二个选项是函数声明,仅在触发onClick
事件后才执行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。