javascript - React Router 的 ES6 导入错误
问题描述
我遇到的错误非常令人困惑,以至于我不知道在哪里寻找解决方案,而且这些错误令人担忧,因为它们似乎隐藏在图书馆的深处。
我正在使用样板应用程序 ( react-boilerplate
) 和表单库 ( react-final-forms
, react-final-form-arrays
) - 导入时会导致错误和奇怪的行为。可重现的步骤如下。
- 从应用程序正常运行的状态:
import { FieldArray } from 'react-final-form-arrays'
到我的主页- 热重载时,主页重新渲染失败,因此页眉和页脚显示但主页不重新渲染,但控制台上没有错误。如果刷新页面,结果相同
- 导航到另一个页面,然后导航回主页——现在使用路由器——这会引发错误(注意页面上尚未使用导入):
react.development.js?72d0:207 警告:React.createElement:类型无效 - 需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象。
检查
LoadableComponent
. 在 LoadableComponent(由 Route 创建) 在 Route(由 App 创建) 在 Switch(由 App 创建) 在 div(由 Context.Consumer 创建) 在 StyledComponent(由 App__AppWrapper 创建) 在 App 中 在 Router(由 ConnectedRouter 创建) 在 ConnectedRouter(由创建by Connect(ConnectedRouter)) in Connect(ConnectedRouter) in IntlProvider (由 LanguageProvider 创建) 在 LanguageProvider (由 Connect(LanguageProvider) 创建) in Connect(LanguageProvider) 在 Provider
- 删除导入,一切恢复正常。
围绕花括号导入的问题通常被回答为命名导入和默认导入之间的区别一样简单。显然这里的事情更复杂。(我都试过了,但它肯定应该被命名)。问题与加载脚本有关吗?
解决方案
在撞墙 3 小时后,这是一个版本控制问题。npm install 默认情况下安装的依赖项之一的旧版本比需要的要旧。可能可以关闭这个问题
推荐阅读
- javascript - 如何选择元素的第 n 个子元素并分配 click() 函数?
- python - Python ctypes:_ctypes.py 文件应该在哪里?
- docker - 在 Docker 容器中将 Spyder 连接到远程 Jupyter Notebook
- spring - 有没有办法在没有 Stompendpoints 的情况下使用 spring 消息代理?
- java - 在硒脚本中从excel中获取数据时收到警告
- php - Codeigniter/CSS PDF 打印输出对齐 PDF 位置
- java - 通过 Neo4j 程序实现只读算法的多线程
- codeigniter-3 - 选项类型编号中的 jQuery 数据输入验证最小值和最大值
- latex - gnuplot epslatex 无法重新绘制
- matlab - 如何绘制不等式方程