将react-helmet添加到我的Gatsby项目中会导致错误:元素类型无效

Joj*_*oji 1 javascript reactjs gatsby react-helmet

我有一个组件Layout,我用它来设计我的应用程序的布局,这就是我介绍的地方react-helmet

组件是这样的


import React from 'react';
import { Global, css } from '@emotion/core';
import Helmet from 'react-helmet';
import Header from '../components/header';

const Layout = ({ children }) => (
  <>
    <Global
      styles={css`
        // some CSS style
    />

    <Helmet>
      <html lang="en" />
      <title>title</title>
      <meta name="description" content="site description" />
    </Helmet>

    <Header />
    <main
      css={css`
       // some css
      `}
    >
      {children}
    </main>
  </>
);

export default Layout;
Run Code Online (Sandbox Code Playgroud)

添加后<Helmet />,出现此错误。如果我<Helmet />从组件中删除,错误就会消失。显然我没有忘记导出我的Layout组件,所以我真的不知道它来自哪里。

在此输入图像描述

Yas*_*shi 6

您需要将命名导入与react-helmet.

import {Helmet} from "react-helmet";
Run Code Online (Sandbox Code Playgroud)

文档: https: //github.com/nfl/react-helmet#example