var columns = []
for (var key in this.props.col)
{
if (this.state.isEditing){
columns.push(<td key = {key.id}><input ref = "txt" type = "text" value = { this.state.itemValue } onChange = { this.onTextChange.bind(this) } /></td>)
}
else
{
columns.push(<td key = {key.id}>{ this.props.col[key] }</td>)
// this.setState({
// itemValue: key,
// isEditing: false
// })
console.log(key)
}
console.log(key);
}
return columns
每次我取消注释这一行:
// this.setState({
// itemValue: key,
// isEditing: false
// })
它会导致浏览器挂起。并且在浏览器上显示模式消息,该消息显示&#34;此页面上的脚本可能正忙着#34;并问我是否要停止脚本或继续。感谢。
答案 0 :(得分:1)
每次你设置状态&#39;时,你的组件都会重新渲染,我猜你的函数在渲染阶段被调用(因为它似乎构建了列)