react中使用定時器,render中進行全局渲染

  • 目前在react中要寫一個定時器,但是寫了一個簡單的定時器,在render函數中進行打印的話,會一直在渲染整個頁面,如何才能只渲染定時器,而不是整個頁面都在進行渲染
  • 實例:


    image.png
  • 在render函數中打印一個數,你會發現一直在整體頁面進行渲染,
image.png
  • #######目前解決了這個問題,就是單獨寫一個組件,將定時器寫到組件中就可以完美的解決了,但是我的需求是這個時間要在幾個頁面之間進行同步,這個改怎么解決呢?

  • 我目前的寫法是,將定時器寫在了父組件中,然后通過父傳子進行的同步時間,但是感覺這樣的話就會造成一些性能的浪費,請教大神改怎么解決呢

  • 1、可以使用一個父組件傳遞給孫組件的形式,將時間分和秒進行傳遞(目前是在父組件中寫的定時器,可以只傳總的時間,定時器在單獨的組件中進行運行)

  • 2、使用全局的變量,也是傳值的形式(在時間組件中寫定時器,將總的時間進行傳遞),當每次時間進行減減的時候,在將當前的值賦值給全局的這個變量


    image.png

    image.png
  • 3、使用context進行傳值(在時間組件中寫定時器,將總的時間進行傳遞)

  • 哪位大佬知道,求助,謝謝
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容