NextJS:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义

时间:2018-12-30 22:05:29

标签: javascript reactjs next.js

使用Nextjs,我在/ pages目录中创建了index.js,在/ components / meta /目录中创建了meta.js。

在我的应用重建时,出现以下错误:

  

元素类型无效:应使用字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。

如下所示,我正在正确导入Meta,这也是默认导出。很好奇我要去哪里了。

pages / index.js

    mov     bp, 4       ; first line has 4 spaces
    mov     bx, 1       ; first line has 1 asterisk
next: 

    mov     cx, bp      ; current number of spaces
    jcxz    NoSpaces
spaces:
    mov     dl, " "
    mov     ah, 02h
    int     21h
    loop    spaces
NoSpaces:

    ...

    add     bx, 2       ; 2 asterisks more each line
    dec     bp          ; 1 space less each line
    jns     next        ; until no more leading space needed

components / meta / meta.js

// 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>
)

项目结构

enter image description here

2 个答案:

答案 0 :(得分:1)

我遇到了同样的错误,因为我的 IDE 没有正确地自动导入 Head 组件。不仅导入样式不正确,而且模块路径错误:

// WRONG - don't try this at home
import { Head } from 'next/document';

确保正确导入组件:

import Head from 'next/head'

答案 1 :(得分:0)

啊,刚发现是错字。

<meta name="description" content="Your Cryptocurrency Portfolio" />>

在我的meta.js文件中删除了多余的>之后,它就起作用了。