首页 > 解决方案 > Gatsby 页面标题不会在页面更改时刷新

问题描述

目前我正在开发一个从 JSON 文件生成所有页面的 Gatsby 应用程序(我正在使用 Gatsby-Node 的 createPage 操作来执行此操作)。一切正常,我只有一个小问题,我无法弄清楚。

在我进入页面时的开发和生产中,标题(和其他元数据)都是正确的。导航到另一个页面不会刷新标题(刷新页面确实会将其更改为正确的标题)。

react-helmet-async目前正在使用,因为它发出了一些关于被弃用的react-helmet警告。componentDidMount使用react-helmet修复了开发问题,但不能修复生产(gatsby serve)。

我正在使用gatsby-plugin-react-helmet,并且已将其放入plugins配置文件中。我需要对插件进行任何其他配置吗?

请注意,不仅标题不会改变,而且描述等其他元数据也会在页面更改时消失。我还在使用Link从“gatsby”导入的组件(从“gatsby-link”导入一个会破坏所有页面)。

const Head = (props) => (
  <HelmetProvider>
    <Helmet>
      {props.title ? <title>{props.title}</title> : ''}
      {props.description ? <meta name="description" content={props.description} /> : ''}
    </Helmet>
  </HelmetProvider>
);

这是设置元数据的组件。有小费吗?

标签: javascriptreactjsgatsbyreact-helmet

解决方案


推荐阅读