【发布时间】:2019-07-20 16:31:21
【问题描述】:
因为 this.props 和 this.state 可能是异步更新的,所以你不应该依赖它们的值来计算下一个状态
这是否意味着我在任何地方都不能信任 this.state?
例如:
MyComponent extends Component {
// ...
handleClick () {
// ...
fetch(targetUrl, {
method: 'POST',
body: JSON.stringify({
param1: this.state.param1
})
})
}
// ...
}
这是否意味着我可能会向 targetUrl 发送错误的 param1(因为 this.state 可能尚未更新)?
【问题讨论】:
-
不,状态是异步的,这意味着例如,如果您从外部 API 获取某些内容,它将发送响应,因此获取响应所需的时间可能会有所不同!因此,根据 state ,因为它是异步的,所以它只是转到其他方法而不是等到响应到来!因此,在您确定收到响应之前,您不能只转发状态!
标签: javascript reactjs