【发布时间】:2020-09-11 00:15:58
【问题描述】:
有人可以向我解释一下为什么这段代码有效
renderSquare(i) {
return (
<Square
value={this.state.squares[i]}
onClick={() => this.handleClick(i)}
/>
);
}
但是如果去掉元素中的箭头函数 onClick 值
renderSquare(i) {
return (
<Square
value={this.state.squares[i]}
onClick={this.handleClick(i)}
/>
);
}
它给了我错误警告:在现有状态转换期间无法更新(例如在render 内)。渲染方法应该是 props 和 state 的纯函数。%s
完整的代码可以在这里找到https://codepen.io/gaearon/pen/KmmrBy?editors=0010
【问题讨论】:
-
你正在执行函数,你没有将它传递给
onClick。
标签: javascript reactjs