如何在React中导入函数组件?

3
我有一个函数组件想要在我的应用程序中导入,但是我得到了以下错误消息:
不变式违规 元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但实际得到的是:未定义。您可能忘记从定义该组件的文件中导出组件,或者可能混淆了默认导入和命名导入。
请检查ProjectDropContainer的渲染方法。
这里是一个沙箱:

https://codesandbox.io/s/brave-voice-bdrx0

我尝试这样导入ProjectDropContainer:
import ProjectDropContainer from "./ProjectDropContainer";

或者像这样:
import {ProjectDropContainer} from "./ProjectDropContainer";

但仍然是相同的!

我尝试按照(并且它有效)的示例是:

https://codesandbox.io/s/github/emyarod/carbon/tree/dnd-uploader-codesandbox/packages/react/examples/drag-and-drop-file-uploader

2个回答

7

你应该将 ProjectDropContainer 组件设为默认导出:

export default ProjectDropContainer

然后像这样导入它:

import ProjectDropContainer from "./ProjectDropContainer";

你确定地址函数组件是正确的吗? - HamidReza Behzadi
是的,您可以查看以下链接:https://codesandbox.io/s/github/emyarod/carbon/tree/dnd-uploader-codesandbox/packages/react/examples/drag-and-drop-file-uploader - zbeedatm
链接的沙盒中只有一个文件。 - giuseppedeponte

2
问题似乎是你从"carbon-components-react"导入了一个未定义的,并在组件中使用它。 你的其他导入工作正常。 检查"carbon-components-react"的文档,看看是否存在,其名称是否正确拼写,以及是否位于主模块的某个子目录中。请注意保留HTML标签。

Pingo... 非常感谢。我的 package.json 没有更新,FileUploaderDropContainer 只有版本 7.7.0。 - zbeedatm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接