React-dnd: Violación invariante: búsqueda de contexto de arrastrar y soltar esperado cuando se implementa en el servidor

Creado en 31 jul. 2019  ·  11Comentarios  ·  Fuente: react-dnd/react-dnd

Mi aplicación funciona bien en mi entorno local, pero cuando la implemento en el servidor, la consola imprime el error: 'Violación invariable: búsqueda de contexto de arrastrar y soltar esperada' cuando se implementa en el servidor.
No tengo ni idea de lo que está mal. ¿Podría ayudarme a darme algunos consejos sobre cuál puede ser la causa raíz?
Mi versión de nodo local es 8.11.3. Y utilizo 8.11.3 en el servidor para construir y un servidor expreso para servir los archivos estáticos en el entorno de nodo de nube predeterminado (v6.7.0).
Estoy usando:
"react-dnd": "^ 9.0.1"
"react-dnd-html5-backend": "^ 9.0.0"
"react-dnd-touch-backend": "^ 9.0.2"

Comentario más útil

debe envolver su componente de archivo de prueba así:

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

Todos 11 comentarios

Actualicé mis paquetes a la última versión y el error se produce en mi entorno local.

Es porque tengo un ^ y uso yarn en local pero npm en la nube para compilar, así que obtuve una versión de paquete diferente en local y dev.
Y cuando uso 9.3.3 y 9.3.2, obtengo el mismo error: 'Violación invariante: búsqueda de contexto de arrastrar y soltar esperada. Perdí el contexto.
Y 9.2.1 está bien.

+1 yo también estoy recibiendo esto

El entorno se parece a:

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

Esto probablemente significa que tiene DndProvider envolviendo un componente demasiado bajo en su árbol de componentes.

¿Resolviste esto? Tuve el mismo problema y resultó que tenía varias bibliotecas react-dnd de diferentes versiones incluidas en mi aplicación. Ojalá esto ayude a alguien.

También me enfrento al mismo problema. ¿Alguien encontró la solución? Por favor, compártala.

No estaba exportando el <DndProvider /> . Una vez que hice eso, todo funcionó bien.

debe envolver su componente de archivo de prueba así:

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

debe envolver su componente de archivo de prueba así:

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

Realmente deseo que esta información esté disponible en esta página http://react-dnd.github.io/react-dnd/docs/overview.

De lo contrario, los usuarios tienen que desplazarse por una implementación completa del tablero de ajedrez para encontrar esto.

También recibo el error Expected drag drop context . Para mí, esto funciona solo si DndProvider es el nodo principal inmediato del componente que usa useDrag . Sin embargo, funciona con una versión anterior (9.0.0). Sin embargo, la pista

Esto debe montarse cerca de la parte superior de nuestra aplicación (es decir, DndProvider )

definitivamente está mal.

@markusmauch

Gracias, esto me ahorró un gran dolor de cabeza. Sí, la documentación definitivamente no es precisa aquí.

¿Fue útil esta página
0 / 5 - 0 calificaciones