解决react报错 TypeError:_WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext is not a function

react引用react-redux运行时出现下列报错:

TypeError:_WEBPACK_IMPORTED_MODULE_0_react___default.a.createContext is not a function

具体如图:

报错信息

原因有两种:

  • 与安装的React版本有关。它仅在React版本 > 16.3中可用
  • react-redux版本更新到6.0以上,版本过高

  这个主要是因为react最新版本抛弃使用了createClass这个函数,也是为了配合ES6 ,旧的不去新的不来,取而代之的就是目前常用的 class Welcome extends React.Component{}

解决方法:

方法一:提高react,react-dom版本

推荐使用:npm update react react-dom 提高到最新版本

或者手动自己修改成一个大于16.3的版本都可以

方法二:降低react-redux版本

首先将package.json文件下的react-redux版本号修改为5.0.6

后面在运行npm install,重新运行后,问题就会没了。

这个问题,react-redux官网上似乎也提到了,奈何英语不用太好,也没怎么读懂,想研究的可以去看下Accessing the Store


Author: ahuiyoのblog
Link: http://ahuiyo.cn/createContext/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
支付宝打赏
微信打赏