【问题标题】:ES6 Import errors with React RouterReact Router 的 ES6 导入错误
【发布时间】:2019-08-11 15:40:32
【问题描述】:

我遇到的错误令人困惑,以至于我不知道在哪里寻找解决方案,而且这些错误似乎隐藏在图书馆的深处。
我正在使用样板应用程序 (react-boilerplate) 和表单库 (react-final-forms, react-final-form-arrays) - 导入时会导致错误和奇怪的行为。可重现的步骤如下。

  1. 从应用正常运行的状态:
  2. import { FieldArray } from 'react-final-form-arrays'我的主页
  3. 热重载时,主页重新渲染失败,因此页眉和页脚显示,但主页不重新渲染,但控制台上没有错误。刷新页面结果相同
  4. 导航到另一个页面,然后导航回主页——现在使用路由器——这会引发错误(注意页面上尚未使用导入):

react.development.js?72d0:207 警告:React.createElement:类型无效 - 应为字符串(用于内置组件)或类/函数(用于复合组件)但得到:对象。

检查LoadableComponent的渲染方法。 在 LoadableComponent 中(由 Route 创建) 在 Route 中(由 App 创建) 在 Switch(由 App 创建) 在 div 中(由 Context.Consumer 创建) 在 StyledComponent 中(由 App__AppWrapper 创建) 应用内 在路由器中(由 ConnectedRouter 创建) 在 ConnectedRouter(由 Connect(ConnectedRouter) 创建) 在连接(连接路由器) 在 IntlProvider 中(由 LanguageProvider 创建) 在 LanguageProvider 中(由 Connect(LanguageProvider) 创建) 在 Connect(LanguageProvider) 在提供者中

  1. 删除导入,一切恢复正常。

关于花括号导入的问题通常被回答为命名导入和默认导入之间的区别一样简单。显然这里的事情更复杂。 (我都试过了,但它肯定应该被命名)。 问题是否与加载脚本有关?

【问题讨论】:

  • react-final-form-arrays 是否有任何依赖关系,就像 babel 特定的任何东西一样? <FieldArray /> 组件是否需要是 react-final-form <Form /> 组件的子组件?
  • 我不确定你的意思,当然有依赖关系,但它们应该自动安装。和FieldArray 甚至在将其添加到页面之前就破坏了导入的所有内容。

标签: javascript reactjs react-final-form react-final-form-arrays


【解决方案1】:

在撞墙 3 小时后,这是一个版本控制问题。 npm install 默认情况下安装的依赖项之一的旧版本比需要的要旧。大概可以结束这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2021-04-14
    • 2020-11-01
    • 2020-04-26
    • 2020-02-12
    相关资源
    最近更新 更多