setState:
报错:Too many re-render: 组件渲染次数过多
——当我们直接在函数体中调用setState时,就会触发上述错误
——问题:
不是说过,当新的state值和旧值相同时,它是不会触发组件的重新渲染
——setState()的执行流程(函数组件)
会先判断,组件当前处于什么阶段:
如果是渲染阶段:--》不会检查state值是否相同
如果不是渲染阶段: --》会检查state的值是否相同
--如果值不相同,则对组件进行重新渲染
--如果值相同,则不对组件进行重新渲染
如果值相同,React在一些情况下会继续执行当前组件的渲染
但是这个渲染不会触发其子组件的渲染,这次渲染不会产生实际的效果