我试图在React中使用'react-dnd‘库,我只是在我的JavaScript文件的顶部从它导入了类DragSource,当我试图运行它时,它返回了这个错误(如果我删除这个导入,代码运行良好,其他任何东西都还没有使用这个类):
TypeError: React.createContext is not a function
据我所知,createContext是在react 16.3中引入的。
如果我将React.version输出到一个网页中,它会告诉我我正在运行16.2
在我的package.json文件中,react被指定为^16.0.0,所以它应该更新到最新版本。如果我查看package-lock.json,就会发现它使用的是最新版本16.8.1。
为什么我的运行版本会与我安装的版本不同,我该如何解决这个问题?这个应用程序是一个月前用create-react-app创建的,这是我第一次看到它。
发布于 2019-02-21 07:15:12
首先运行npm update
并查看您的react的package.json
版本是否更改为16.3或类似版本。如果是这样,只需执行npm install
并运行app.1
如果您的版本不是这样更新的:
1)从项目根目录中删除node_modules
2)在package.json
上将react版本重命名为16.3.0
3)删除package.lock.json
4) npm install
5)运行应用程序
1 update命令可能会起作用,因为它应该更新次要版本:例如,从1.2.0更新到1.3.0,或者从1.2.2更新到1.2.5。但是我发现有时候npm不能解决这个问题。package.json只是在执行npm安装时应该安装的依赖项的列表。
https://stackoverflow.com/questions/54795477
复制相似问题