react中父组件渲染,子组件不渲染,怎么处理?

问题描述:一个页面

setInterval(()=>this.setState({time: new Date()}), 1000)

<div>
  <Count time={time} />
  ...others component
</div>

1秒钟更新一下时间,Count中显示更新的时间,由于父组件的state变化,导致子组件全部重新渲染,有什么办法,只让Count重新渲染,其他子组件不重新渲染呢?

阅读 3.3k
1 个回答

你这个场景下,如果其他组件没有依赖count,那一定不会重新渲染。
你说的重新渲染应该是指的组件代码重新执行吧?组件代码肯定会执行,但是不一定会引起页面元素重新渲染(是否需要重新渲染得看虚拟dom的diff结果,或者shouldUpdate生命周期)

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