Hacker News new | ask | show | jobs
by zestyrx 1183 days ago
Isn't this exactly what useLayoutEffect is for? https://react.dev/reference/react/useLayoutEffect
1 comments

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.