ES6使用React Router导入错误

时间:2019-03-20 20:06:04

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

我遇到的错误非常令人困惑,以至于我不知道在哪里寻找解决方案,而这些问题却令人担忧,因为它们似乎隐藏在库的深处。 我正在使用样板应用程序(react-boilerplate)和表单库(react-final-formsreact-final-form-arrays)-导入时会引起错误和奇怪的行为。可重复的步骤如下。

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

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

     

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

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

有关花括号导入的问题通常得到回答,其含义与命名导入和默认导入之间的区别一样简单。显然,这里的事情更加复杂。 (我都尝试过,但是绝对应该命名)。 问题与加载脚本有关吗?

1 个答案:

答案 0 :(得分:2)

头撞墙三个小时后,这是一个版本控制问题。默认情况下,npm install安装的依赖项之一的旧版本比需要的版本要旧。可能可以解决这个问题