Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Isn't this exactly what useLayoutEffect is for? https://react.dev/reference/react/useLayoutEffect


useLayoutEffect is called after the render cycle but before the “paint”. useMemo is called during the render cycle (i.e. immediately).

You can confirm this via console.log:

useMemo(() => console.log(1), [])

console.log(2)

… will print 1 then 2.

If you replace useMemo with useLayoutEffect, you’ll get 2 then 1.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: