导入组件

托马斯·塞加托

这是我的第一个反应应用程序,非常简单的问题。

要导入的组件:

import React, { useState } from "react";
import {
  Dropdown,
  DropdownToggle,
  DropdownMenu,
  DropdownItem
} from "reactstrap";

const DropdownPaging = props => {
  const [dropdownOpen, setDropdownOpen] = useState(false);

  const toggle = () => setDropdownOpen(prevState => !prevState);

  return (
    <Dropdown isOpen={dropdownOpen} toggle={toggle}>
      <DropdownToggle caret>Dropdown</DropdownToggle>
      <DropdownMenu>
        <DropdownItem header>Header</DropdownItem>
        <DropdownItem>Some Action</DropdownItem>
        <DropdownItem disabled>Action (disabled)</DropdownItem>
        <DropdownItem divider />
        <DropdownItem>Foo Action</DropdownItem>
        <DropdownItem>Bar Action</DropdownItem>
        <DropdownItem>Quo Action</DropdownItem>
      </DropdownMenu>
    </Dropdown>
  );
};

export default DropdownPaging;

消费组件:

import { DropdownPaging } from "./DropdownPaging";

在我的渲染方法中,我只是调用了组件:

<DropdownPaging></DropdownPaging>

我收到以下错误:

尝试导入错误:“DropdownPaging”未从“./DropdownPaging”导出。

我遵循了这个示例:https : //create-react-app.dev/docs/importing-a-component/

两个组件都在同一个文件夹中。

卡洛斯·洛雷达

我认为您的错误在于import statement

import { DropdownPaging } from "./DropdownPaging";

当您{}使用大括号导入某些内容时,您正在使用所谓的命名 import,但在DropdownPaging 中,您正在执行默认导出,以便修复您需要执行的错误:

import DropdownPaging from "./DropdownPaging";

如果您想使用命名导出,解决方案是更改DropdownPaging组件上的导出并将导入保留为 {}:

// In the DropdownPaging component
export DropdownPaging

// In the component doing the import
import DropdownPaging from "./DropdownPaging";

您可以在这篇dev.to 文章中阅读有关命名与默认导出的更多信息

我还创建了一个代码沙盒,其中包含一些关于如何在 Javascript 中使用不同类型导入的示例(使用 ES6)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章