react中antd每当打开不一样的弹窗时,不能更新弹窗的内容
2019-12-10 本文已影响0人
园Smile
select里面的内容是上一个弹窗里面内容。
大概最主要的原因是,onChange事件里面需要写this.setState,
setState本质是通过一个队列机制实现state更新的。执行setState时,会将需要更新的state合并后放入状态队列,而不会立即更新state,队列机制可以批量更新state。如果不通过setState而直接修改this.state,那么这个state不会放入状态队列中,下次调用setState时对状态队列进行合并时,会忽略之前直接被修改的state,这样我们就无法合并了,而且实际也没有把你想要的state更新上去。