-
目前在react中要写一个定时器,但是写了一个简单的定时器,在render函数中进行打印的话,会一直在渲染整个页面,如何才能只渲染定时器,而不是整个页面都在进行渲染
-
实例:
image.png -
在render函数中打印一个数,你会发现一直在整体页面进行渲染,
-
#######目前解决了这个问题,就是单独写一个组件,将定时器写到组件中就可以完美的解决了,但是我的需求是这个时间要在几个页面之间进行同步,这个改怎么解决呢?
-
我目前的写法是,将定时器写在了父组件中,然后通过父传子进行的同步时间,但是感觉这样的话就会造成一些性能的浪费,请教大神改怎么解决呢
-
1、可以使用一个父组件传递给孙组件的形式,将时间分和秒进行传递(目前是在父组件中写的定时器,可以只传总的时间,定时器在单独的组件中进行运行)
-
2、使用全局的变量,也是传值的形式(在时间组件中写定时器,将总的时间进行传递),当每次时间进行减减的时候,在将当前的值赋值给全局的这个变量
image.png
image.png -
3、使用context进行传值(在时间组件中写定时器,将总的时间进行传递)
-
哪位大佬知道,求助,谢谢
网友评论