在事件中设置状态导致最大呼叫错误

时间:2017-02-02 08:57:41

标签: reactjs

我有一个方法在有人输入输入字段时运行事件调用,但我所看到的只是“最大调用堆栈错误”, 我已经注释掉了代码,直到我发现这个导致问题的方法......

changeEvent(event) {
   //console.log( 'Name:', event.target.name );
   //console.log( 'Value:', event.target.value );
   const formDataRaw = { ...this.state.formData };
   const name = event.target.name;
   const value = event.target.value;
   formDataRaw[name] = value;
   this.setState({formData : formDataRaw});
}

具体来说,似乎是设置导致问题的状态。

1 个答案:

答案 0 :(得分:0)

我认为您的输入字段value事件与此formData[name]方法相关联。因此,当您在changeEvent中设置状态时,它会更改输入字段,然后调用onChange事件,因此您处于永无止境的循环中,从而导致最大调用堆栈错误'