在组件里setState任意值,子组件却会重新渲染

图片描述

图片描述

在父组件中setState任意值,子组件为什么会重新渲染呢,体验很差,一闪一闪,目前感觉是遍历子组件都姿势不对,求大神解答

阅读 5.7k
2 个回答

首先很少见到有人把key使用随机数的值,key是用来增强diff的效率,弄个随机数以后内容改变了就会完全重新生成子组件,所以最好不用随机数,哪怕index都可以。
其次,react组件的渲染本身就是完成子组件的渲染后才算是父组件的完成,父组件的生命周期也是需要等子组件完成才触发,父组件的一些完成态和更新态生命周期总是会比子组件来的晚。
注意这两方面。

初步猜测是key绑定的值问题,尝试绑定不大可能会发生变化的值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题