0
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
私は、この行のコメントを解除するたびに+ Reactjsがハングアップする原因となります。また、ブラウザに「このページのスクリプトがビジー状態である」というメッセージが表示され、スクリプトを停止するか続行するかを尋ねるメッセージが表示されます。ありがとう。This.setStateは、ブラウザが
がどのようにコードのこの部分を呼び出している(列を構築しているようですので)私はあなたの関数は、レンダリングフェーズ中に呼び出されると思います。 –
具体的には、状態を設定していますか?既定では、SetStateを設定すると、render()が呼び出されます。したがって、render()で状態を設定している場合は、この決して終わらないループを持つことになります。 – Dan
一般的なフィードバックだけでは、文字列 'ref'はレガシーとみなされ、Reactから削除される可能性が高いため、' ref'を使わないようにしてください。代わりに 'ref = {(input)=> {this.input = input}}' – Dan