react中使用定时器,render中进行全局渲染

  • 目前在react中要写一个定时器,但是写了一个简单的定时器,在render函数中进行打印的话,会一直在渲染整个页面,如何才能只渲染定时器,而不是整个页面都在进行渲染
  • 实例:


    image.png
  • 在render函数中打印一个数,你会发现一直在整体页面进行渲染,
image.png
  • #######目前解决了这个问题,就是单独写一个组件,将定时器写到组件中就可以完美的解决了,但是我的需求是这个时间要在几个页面之间进行同步,这个改怎么解决呢?

  • 我目前的写法是,将定时器写在了父组件中,然后通过父传子进行的同步时间,但是感觉这样的话就会造成一些性能的浪费,请教大神改怎么解决呢

  • 1、可以使用一个父组件传递给孙组件的形式,将时间分和秒进行传递(目前是在父组件中写的定时器,可以只传总的时间,定时器在单独的组件中进行运行)

  • 2、使用全局的变量,也是传值的形式(在时间组件中写定时器,将总的时间进行传递),当每次时间进行减减的时候,在将当前的值赋值给全局的这个变量


    image.png

    image.png
  • 3、使用context进行传值(在时间组件中写定时器,将总的时间进行传递)

  • 哪位大佬知道,求助,谢谢
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容