【发布时间】:2021-02-03 03:39:11
【问题描述】:
这样定义这个counterHandler有什么区别
counterHandler = () => {
this.setState(() => {
return { times: this.state.times + 1 }
});
}
还有这个?
counterHandler = () => {
this.setState((prevState) => {
return { times: prevState.times + 1 }
});
}
组件的状态是否总是自动传递给 setState?
【问题讨论】:
-
我认为这可能会回答您的问题。 stackoverflow.com/a/55496277/8546128
-
this.setState异步设置值,如果this.state.times初始化为1并且您在同一处理程序中调用this.setState(() =>{ return { times: this.state.times + 1 }; })两次,则this.state.times中的结果值将是2。如果你对this.setState((currentState) =>{ return { times: currentState.times + 1 }; })做同样的事情,你最终会得到this.state.timesof3 -
是的,如果您将函数传递给
setState,则当前状态将作为参数传递给函数。与this.setState({ times: state.times + 1 })比较。
标签: javascript reactjs react-native react-redux