作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Nextjs,我在/pages 目录中创建了一个 index.js,并在/components/meta/目录中创建了 meta.js。
当我的应用程序重建时,我收到以下错误:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
// import Head from 'next/head'
import Meta from '../components/meta/meta';
export default () => (
<div>
<Meta />
<p>Hello world! Welcome to</p>
<h1>Moonholdings.io</h1>
</div>
)
import Head from 'next/head'
export default () => (
<Head>
<title>Moonholdings.io</title>
<meta name="description" content="Your Cryptocurrency Portfolio" />>
<meta name="keywords" content="cryptocurrency, crypto, portfolio, bitcoin, ethereum, holdings"/>
<meta name="robots" content="index, follow" />
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
</Head>
)
最佳答案
我遇到了同样的错误,因为 IDE 的自动导入功能只能导入 Head
来自 next/document
的组件.
不要:
import { Head } from 'next/document';
这个
Head
组件将用于
custom documents .
import Head from 'next/head'
这个
Head
组件将用于您的
pages .
next/head
组件使用默认导出。默认导出不能很好地与自动导入配合使用。这就是为什么默认导出被认为是不好的做法的原因之一。非常不幸的是,Vercel 选择允许他们参与他们的项目。
关于javascript - NextJS : Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53981805/
我是一名优秀的程序员,十分优秀!