复杂的react组件 setState不更新 - 使用函数作为setState的第一个参数

写了一个很复杂的stateful组件,
结果在某一个功能上,
触发函数它却不更新视图了,
难以排查,

问题的关键在这行代码

this.setState({ value: doSomething(this.state.value) })

千万不要在this.setState中使用this.state.xxx取值,
如果要使用this.state中的值,
使用函数作为第一个参数:

this.setState((prevState)=>({ value:  doSomething(prevState.value) })

over

猜你喜欢

转载自blog.csdn.net/sinat_24070543/article/details/80666676