-
目前在react中要寫一個定時器,但是寫了一個簡單的定時器,在render函數中進行打印的話,會一直在渲染整個頁面,如何才能只渲染定時器,而不是整個頁面都在進行渲染
-
實例:
image.png -
在render函數中打印一個數,你會發現一直在整體頁面進行渲染,
image.png
#######目前解決了這個問題,就是單獨寫一個組件,將定時器寫到組件中就可以完美的解決了,但是我的需求是這個時間要在幾個頁面之間進行同步,這個改怎么解決呢?
我目前的寫法是,將定時器寫在了父組件中,然后通過父傳子進行的同步時間,但是感覺這樣的話就會造成一些性能的浪費,請教大神改怎么解決呢
1、可以使用一個父組件傳遞給孫組件的形式,將時間分和秒進行傳遞(目前是在父組件中寫的定時器,可以只傳總的時間,定時器在單獨的組件中進行運行)
-
2、使用全局的變量,也是傳值的形式(在時間組件中寫定時器,將總的時間進行傳遞),當每次時間進行減減的時候,在將當前的值賦值給全局的這個變量
image.png
image.png 3、使用context進行傳值(在時間組件中寫定時器,將總的時間進行傳遞)
-
哪位大佬知道,求助,謝謝