setState的两个作用,一个是修改state的,另一个是更新UI组件
react中组件更新时,其子组件或者说后代所有组件也会更新,但不会影响父组件、兄弟组件及兄弟组件的子组件。
如下图,可以概括为:
- 当父组件更新的时候,他的所有后代组件都会发生渲染;
- 子组件1-1更新时,子组件1-1、1-1-1、1-1-2都会发生更新渲染,子组件1-2和父组件都不会发生更新渲染
- 子组件1-2更新时,子组件的1-2、1-2-1、1-2-2会发生渲染,其他都不会渲染,如果组件1-2-1或者1-2-2还有子组件,那么也会发生更新渲染