非常确定我知道答案,因为我的setState({})
确实没有做任何事情。
这是我的构造函数:
constructor(props) {
super(props);
this.state = {
percentiles: {
incN: 'n',
incP1: 10,
incP2: 25,
incP3: 50,
incMean: 'Mean',
incP4: 75,
incP5: 90,
coN: 'n',
coP1: 50,
coMean: 'Mean'
}
}
}
后来我正在尝试做类似的事情:
handleClick(e) {
this.setState({
incN: e.target.id
})
}
e.target.id = 5
并且它不会从10
更改,因此我很确定如果在constructor(props)
中分配,则无法覆盖它。
那么我应该在哪里放置默认值可以被覆盖?在render()
或许?
答案 0 :(得分:3)
incN是百分位数的属性,因此您需要这样做:
this.setState({
percentiles: {
...this.state.percentiles,
incN: e.target.id
}
});