我是从Angular开始学习React的,我在动态更改页面标题时遇到了麻烦,我不知道是否有比我现在做的更好的方法。我在每个页面上都有以下钩子:
useEffect(() => { document.title = {title}; }, []);
但是这个钩子我发现了一个问题:导航到另一个页面时会有一点延迟(不到一秒)。有没有其他方法可以做到这一点?(我已经尝试了react-helmet,但它仍然有一点延迟)
jyztefdp1#
如果你需要同步修改页面标题(例如,在浏览器绘制屏幕之前),你应该使用useLayoutEffect钩子。
import React, { useLayoutEffect } from 'react'; function MyComponent() { useLayoutEffect(() => { document.title = 'New Page Title'; }, []); return ( // your component code here ); }
1条答案
按热度按时间jyztefdp1#
如果你需要同步修改页面标题(例如,在浏览器绘制屏幕之前),你应该使用useLayoutEffect钩子。