useLayoutEffect Similar to useEffect but fires synchronously after all DOM mutations(react docs). It can be used to make changes before the browser has a chance to paint. I can think of two instances where it can be applied; Dynamically setting document title useLayoutEffect(() => { document.title = "Profile"; }, []); The page title is set before the browser has a chance to paint. Verifying user token when your root component mounts (app) const { handleLogout } = useAuth(); useLayoutEffect(() => { checkTokenValidity(handleLogout); }, [handleLogout]);