reactjs 如何在React中加载页面时立即更改页面标题?

rseugnpd  于 2023-04-05  发布在  React
关注(0)|答案(1)|浏览(171)

我是从Angular开始学习React的,我在动态更改页面标题时遇到了麻烦,我不知道是否有比我现在做的更好的方法。我在每个页面上都有以下钩子:

useEffect(() => {
        document.title = {title};
    }, []);

但是这个钩子我发现了一个问题:导航到另一个页面时会有一点延迟(不到一秒)。有没有其他方法可以做到这一点?(我已经尝试了react-helmet,但它仍然有一点延迟)

jyztefdp

jyztefdp1#

如果你需要同步修改页面标题(例如,在浏览器绘制屏幕之前),你应该使用useLayoutEffect钩子。

import React, { useLayoutEffect } from 'react';

function MyComponent() {
  useLayoutEffect(() => {
   document.title = 'New Page Title';
  }, []);

 return (
  // your component code here
 );
}

相关问题