【发布时间】:2018-07-23 10:41:23
【问题描述】:
前言
我正在使用create-react-app 生成一个应用程序。
问题
TodoList === undefined
代码
组件/index.js
export { default as App } from './App/App.js';
export { default as TodoList } from './TodoList/TodoList.js';
容器/index.js
export { default as VisibleTodoList } from './VisibleTodoList.js';
components/App/App.js
import { VisibleTodoList } from '../../containers/index.js';
容器/VisibleTodoList.js
import { TodoList } from '../components/index.js';
组件/TodoList/TodoList.js
export default function TodoList({ todos, onTodoClick }) { ... }
TodoList 现在是undefined。我认为这可能与我有某种循环问题有关。
问题是,如果在 containers/VisibleTodoList.js 我使用以下方法导入,一切正常。
import TodoList from '../components/TodoList/TodoList.js';
如果我尝试使用“中间人”(components/index.js 文件)导入,有什么特别之处会破坏导入。
完整代码
我创建了一个包含我的完整代码的 CodeSandbox,因为它位于我的应用程序中。该应用程序非常简单,但比我在这里概述的要复杂。
【问题讨论】:
-
简单示例似乎可以正常工作stackblitz.com/edit/react-v5hc2b 关于您的应用程序结构,您还有什么可以告诉我们的吗?如果在
components/index.js中导入默认的App,是否有合适的值? -
导入时可以忽略
.js。 -
@AndreiNemes 从组件导入
App可以正常工作。 -
导入工作正常:codesandbox.io/s/74mlwnwyy1
-
@AlexMcCabe
export from订单也是进口订单。是的,如果你有循环依赖,导入顺序很重要。
标签: javascript reactjs ecmascript-6 babeljs