useLayoutEffect

Published November 11, 2025 by admin
Uncategorized
useLayoutEffect

Cú pháp

useLayoutEffect(callback, [dependency])

Cách sử dụng

<aside> 💡 Sử dụng khi bạn muốn setState cho 1 state nào đó, rồi kiểm tra điều kiện state đó trong useEffect và set lại giá trị của state. Thì nên sử dụng useLayoutEffect.

</aside>

Đặc điểm

Ta so sánh 2 hook để nhận thấy sự khác nhau (về thứ tự thực hiện)

useEffectuseLayoutEffect
1. Cập nhật lại State
  1. Cập nhật DOM (mutated)
  2. Render lại UI
  3. Gọi CleanUp nếu dependency thay đổi
  4. Gọi useEffect callback | 1. Cập nhật lại State
  5. Cập nhật DOM (mutated)
  6. Gọi CleanUp nếu dependency thay đổi (sync)
  7. Gọi useLayoutEffect callback (sync)
  8. Render lại UI |

Trong đó:

Mutated: Chính là việc update lại thuộc tính (properties) trong DOM, mà chưa render ra giao diện

<aside> 💡 Việc render ra giao diện sẽ để cuối cùng, tránh hiện tượng giao diện bị giật, nháy.

</aside>

<aside> 💡 Hook này hiếm khi được sử dụng

</aside>