因此,我试图像这样附加变量的值:
state = { value: "" };
componentWillMount() {
_this.setState({
value: value + newValue
})
}
但是,我一直遇到的错误是它认为该值未定义。 我尝试使用条件式仅在未定义时追加,但这似乎也不起作用。我可能缺少一些琐碎的东西,有什么主意吗?
答案 0 :(得分:4)
value
中未定义 componentWillMount
。您必须通过写入value
从状态访问this.state.value
。
但是,如果要从当前状态中获取状态更新,则应将函数赋予setState
并返回更新。
componentWillMount() {
this.setState(previousState => {
return { value: previousState.value + newValue };
})
}
答案 1 :(得分:2)
您发布的代码由于许多原因无法正常工作,但我认为您要查找的是引用this.state.value
而不是value
。
即
componentWillMount() {
_this.setState({
value: _this.state.value + newValue
})
}
答案 2 :(得分:0)
未定义您在设置状态调用中引用的值,因为它是您要分配给的对象属性。您将需要使用this.state.value进行访问。
答案 3 :(得分:0)
未定义componentWillMount value
内部。要访问实际状态,必须使用this.state.value
。您可能想要使用funtional setState
,因为general setState
可能由于React中asynchronous
的原因而导致setState本身为Object Composition
,因此可能不提供最新的状态。>