这里我们把 onClick={() => props.onClick()} 直接修改为 onClick={props.onClick} , 注意不能写成 onClick={props.onClick()} 否则 props.onClick 方法会在 Square 组件渲染时被直接触发而不是等到 Board 组件渲染完成时通过点击触发,又因为此时 Board 组件正在渲染中(即 Board 组件的 render() 方法正在调用),又触发 handleClick(i) 方法调用 setState() 会再次调用 render() 方法导致死循环。
{ props.onClick() }与{ props.onClick } 的差异
最新推荐文章于 2023-12-08 11:23:05 发布
本文解析了在React中如何正确地使用onClick属性,避免在组件渲染过程中因错误的调用方式而导致的死循环问题。强调了将onClick={props.onClick()}
2万+

被折叠的 条评论
为什么被折叠?



