React setState键值

时间:2017-07-11 10:34:25

标签: javascript reactjs ecmascript-6 setstate

我在使用setState的反应应用程序中有一个函数

df.set_index(['A', 'B', 'C']).unstack()
Out[61]: 
                   D        
C              Price Trading
A   B                       
ABC 01/01/2017    50     Yes
    02/01/2017   NaN      No
    03/01/2017    48     Yes
    04/01/2017    47     Yes
    05/01/2017    46     Yes
XYZ 01/01/2017   100     Yes
    02/01/2017   101     Yes
    03/01/2017   102     Yes
    04/01/2017   103     Yes
    05/01/2017   104     Yes

问题是... handleChange: (e, id) => { e.preventDefault() setState({ id: e.target.value }) } ... 只是状态对象中字段的占位符,但每次触发该函数时,它都会创建一个新字段id并在中指定最后更新的值形式即可。 我可能做错了所以我想知道是否有解决方法或解决方案。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

由于id是一个具有状态键值的变量,所以你需要使用[],它会发生什么,id将被它的值替换。

如果您不使用[],则ID将被视为“id”字符串

像这样:

handleChange: (e, id) => {
    e.preventDefault()
    this.setState({ [id]: e.target.value })
}