私のアプリはローカル環境で正常に動作していますが、サーバーにデプロイすると、コンソールに次のエラーが出力されます: '不変の違反:サーバーにデプロイするときにドラッグドロップコンテキストの検索が必要です'。
何が悪いのか全くわかりません。 根本的な原因についてアドバイスをいただけますか?
私のローカルノードのバージョンは8.11.3です。 また、サーバーで8.11.3を使用してビルドし、Expressサーバーを使用してデフォルトのクラウドノード環境(v6.7.0)で静的ファイルを提供します。
私は使っている:
"react-dnd": "^ 9.0.1"
"react-dnd-html5-backend": "^ 9.0.0"
"react-dnd-touch-backend": "^ 9.0.2"
パッケージを最新のものにアップグレードしましたが、ローカル環境でエラーが発生します。
^があり、ローカルではyarnを使用していますが、クラウドではnpmを使用してビルドしているため、ローカルと開発で異なるパッケージバージョンを取得しました。
また、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
が低すぎることを意味します。
これを解決しましたか? 同じ問題が発生し、アプリに異なるバージョンの複数のreact-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
ありがとう-これは私に大きな頭痛の種を救った。 ええ、ドキュメントはここでは間違いなく正確ではありません。
最も参考になるコメント
テストファイルコンポーネントを次のようにラップする必要があります。
<DndProvider backend={HTML5Backend}> <Component /> </DndProvider>