当前,我正在开发一个Gatsby应用程序,该应用程序从JSON文件生成所有页面(我正在使用Gatsby-Node的createPage操作来执行此操作)。一切正常,我只有一个小问题,我不太清楚。
在开发和生产中,当我进入页面时,标题(和其他元数据)都是正确的。导航到另一页不会刷新标题(刷新页面确实会将其更改为正确的标题)。
我目前正在使用react-helmet-async
,因为react-helmet
引发了一些警告,提示componentDidMount
被弃用。使用react-helmet
可以解决开发中的问题,但不能解决生产问题(gatsby serve
)。
我正在使用gatsby-plugin-react-helmet
,并将其放在配置文件的plugins
中。我需要对插件进行任何其他配置吗?
请注意,不仅标题不会更改,而且其他元数据(如说明)也会在页面更改时消失。我还使用了从“ gatsby”导入的Link
组件(从“ gatsby-link”导入一个破坏了所有页面)。
const Head = (props) => (
<HelmetProvider>
<Helmet>
{props.title ? <title>{props.title}</title> : ''}
{props.description ? <meta name="description" content={props.description} /> : ''}
</Helmet>
</HelmetProvider>
);
这是设置元数据的组件。有提示吗?