是否保证this.setState({})会导致重新渲染

Bru*_*ceM 3 reactjs

我继承了一些代码来维护,其中包含以下代码:

this.setState({}); // Force update
Run Code Online (Sandbox Code Playgroud)

是否可以保证重新渲染?

Dup*_*cas 6

setState以不变的方式将作为参数传递的对象合并到实际状态。this.setState({})不会合并任何状态,但实际上会返回一个新对象,除非使用明确取消,否则由进行的浅表比较React将始终声明为,false并且将触发重新渲染shouldComponentUpdate。所以是的,在这种情况下,它等效于forceUpdate,并带有相同的警告