我在使用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
并在中指定最后更新的值形式即可。
我可能做错了所以我想知道是否有解决方法或解决方案。
任何帮助将不胜感激。
答案 0 :(得分:2)
由于id是一个具有状态键值的变量,所以你需要使用[]
,它会发生什么,id将被它的值替换。
如果您不使用[]
,则ID将被视为“id”字符串。
像这样:
handleChange: (e, id) => {
e.preventDefault()
this.setState({ [id]: e.target.value })
}