React 文档讲述了很多关于setState()
异步和这个特性的后果的信息。
特别是,它说:
因为 this.props 和 this.state 可能是异步更新的,所以你不应该依赖它们的值来计算下一个状态。
它还提供了很好的例子,为什么依赖this.props
可能(并且将会)破坏你的代码。其中之一(从这里):
// multiple call like this
this.setState({ quantity: state.quantity + 1 });
// may be batched and will result in the equivalent of
Object.assign(
previousState,
{ quantity: state.quantity + 1 },
{ quantity: state.quantity + 1 },
...
);
在理解状态更新的异步性质时,这些示例非常具有说明性和帮助性。
不幸的是,我找不到任何关于依赖this.props
状态更新的类似示例。
有人可以帮我吗?我希望看到最少的说明性代码,但如果你有一个巨大的真实示例,它也会很棒。:)
谢谢你。