React-dnd: Неизменяемое нарушение: ожидаемый контекст перетаскивания при развертывании на сервер

Созданный на 31 июл. 2019  ·  11Комментарии  ·  Источник: react-dnd/react-dnd

Мое приложение хорошо работает в моей локальной среде, но при развертывании на сервере консоль выводит сообщение об ошибке: «Неизменяемое нарушение: ожидаемый поиск контекста перетаскивания» при развертывании на сервере.
Я совершенно не понимаю, что случилось. Не могли бы вы дать мне совет относительно того, что может быть основной причиной?
Моя версия локального узла - 8.11.3. И я использую 8.11.3 на сервере для сборки и экспресс-сервер для обслуживания статических файлов в среде облачного узла по умолчанию (v6.7.0).
Я использую:
"response-dnd": "^ 9.0.1"
"response-dnd-html5-backend": "^ 9.0.0"
"response-dnd-touch-backend": "^ 9.0.2"

Самый полезный комментарий

вы должны обернуть компонент тестового файла следующим образом:

<DndProvider backend={HTML5Backend}> <Component /> </DndProvider>

Все 11 Комментарий

Я обновил свои пакеты до последней версии, и ошибка возникает в моей локальной среде.

Это потому, что у меня есть ^, и я использую пряжу локально, но npm в облаке для сборки, поэтому я получил разные версии пакета в локальном и dev.
И когда я использую 9.3.3 и 9.3.2, я получил ту же ошибку: «Неизменяемое нарушение: ожидаемый поиск контекста перетаскивания. Я потерял контекст.
И 9.2.1 в порядке.

+1 Я тоже это понимаю

Окружение выглядит так:

"react": "^16.8.6", "react-dnd": "^9.3.4", "react-dnd-html5-backend": "^9.3.4", "react-dom": "^16.8.6",

Это, вероятно, означает, что у вас есть DndProvider слишком низко оборачивающий компонент в дереве компонентов.

Вы это решили? У меня была такая же проблема, и оказалось, что в моем приложении было несколько библиотек response-dnd разных версий. Надеюсь, это кому-то поможет.

Я тоже столкнулся с той же проблемой. Кто-то нашел решение, поделитесь пожалуйста.

Я не экспортировал <DndProvider /> . Как только я это сделал, все заработало.

вы должны обернуть компонент тестового файла следующим образом:

<DndProvider backend={HTML5Backend}> <Component /> </DndProvider>

вы должны обернуть компонент тестового файла следующим образом:

<DndProvider backend={HTML5Backend}> <Component /> </DndProvider>

Я действительно хочу, чтобы эта информация была доступна на этой странице http://react-dnd.github.io/react-dnd/docs/overview.

В противном случае пользователям придется пролистать всю реализацию шахматной доски, чтобы найти это.

Я тоже получаю ошибку Expected drag drop context . Для меня это работает, только если DndProvider является непосредственным родительским узлом компонента, который использует useDrag . Однако он работает с более старой версией (9.0.0). Однако подсказка

Он должен быть установлен в верхней части нашего приложения (имеется в виду DndProvider ).

определенно неправильно.

@markusmauch

Спасибо - это избавило меня от огромной головной боли. Да, здесь документация определенно не точна.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги