【React hooks】useEffect和useLayoutEffect


useEffect【異步】

基本上90%的情況下,都應該用這個,這個是在render結束后,你的callback函數執行,但是不會block browser painting,算是某種異步的方式吧,但是class的componentDidMount 和componentDidUpdate是同步的,在render結束后就運行,useEffect在大部分場景下都比class的方式性能更好.

useLayoutEffect【同步】

這個是用在處理DOM的時候,當你的useEffect里面的操作需要處理DOM,並且會改變頁面的樣式,就需要用這個,否則可能會出現出現閃屏問題, useLayoutEffect里面的callback函數會在DOM更新完成后立即執行,但是會在瀏覽器進行任何繪制之前運行完成,阻塞了瀏覽器的繪制.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM