Как убедиться, что текущая версия React актуальна, потому что createContext не является функцией - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь использовать библиотеку «act-dnd »с React, я просто импортирую из него класс DragSource в верхней части моего файла JavaScript, и при попытке запустить его возвращает эту ошибку (если я удаляю этот импорткод работает нормально, больше ничего не использует класс):

TypeError: React.createContext is not a function

Насколько я понимаю, createContext был представлен в реакции 16.3.

Если я вывожу React.version на веб-страницу, этоговорит мне, что я работаю 16.2

В моем файле package.json реакция указана как ^ 16.0.0, поэтому он должен обновиться до последней версии.Если я смотрю в package-lock.json, он говорит, что использует последнюю версию 16.8.1.

Почему моя работающая версия будет отличаться от моей установленной версии и как я могу это исправить?Приложение было создано месяц назад с помощью create-реагировать-приложение, и это первый раз, когда я видел его.

1 Ответ

0 голосов
/ 21 февраля 2019

Сначала запустите npm update и посмотрите, изменится ли ваша package.json версия реакции на 16.3 или аналогичную.Если это так, просто сделайте npm install и запустите приложение. [1]

Если ваша версия не обновляется таким образом:

1) Удалить node_modules из корня вашего проекта

2) переименуйте вашу версию реакции в 16.3.0 в package.json

3) удалите package.lock.json

4) npm install

5) Запустите приложение

——————————————— *

[1] обновлениеКоманда может работать, потому что она должна обновлять второстепенные версии: например, с 1.2.0 до 1.3.0 или с 1.2.2 до 1.2.5.Но я обнаружил, что иногда npm не может этого понять. package.json - это просто список зависимостей, которые он должен установить при установке npm.

Дополнительная информация о ^ символ: https://flaviocopes.com/npm-semantic-versioning/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...