Video que muestra mi problema: https://i.imgur.com/L3laZLc.mp4
Tengo una aplicación simple donde puedes agregar tarjetas a 2 filas diferentes. Cuando se agrega una tarjeta a una fila, estoy usando react-transition-group
para activar una animación "enter".
Sin embargo, también lo he react-beautiful-dnd
instalado para permitir arrastrar Cartas entre las Filas, y también para reordenar las Filas mismas. Pero cuando una Carta se mueve a una nueva Fila, o cuando se reordenan las Filas, algunas de las cartas tienen su fuego de animación "enter", que se ve muy extraño y no debería estar sucediendo.
Al arrastrar, la animación no deseada se disparará cuando
Una tarjeta se arrastra a una fila diferente.
Se reordena una fila y las 2 filas tienen diferentes números de cartas.
Curiosamente, las animaciones no deseadas no sucederán cuando
- Una carta se arrastra a una nueva posición dentro de su fila original.
- Las filas se reordenan y las filas tienen el mismo número de cartas.
Me gustaría saber cómo puedo tenerlo para que las react-transition-group
animaciones no se activen cuando state
se modifique usando react-beautiful-dnd
.
Sandbox de mi problema (Más información en los comentarios en el App.js
archivo):
setImmediate()
en la línea 75.setImmediate
no es estándar de acuerdo con MDN, y recomiendan no usarlo en producción, lo que mi aplicación completa pretende hacer.En
App.js
usted ha mencionado el siguiente comentario, que es su requisito:Lo que quiero:
Me gustaría que las
react-transition-group
animaciones se disparen solo cuando se agregue un nuevo estadoy no cuando el estado se modifica arrastrando y soltando (con la
onDragEnd
función);Este problema se puede solucionar simplemente introduciendo una nueva bandera
hasNewCard
. Esta bandera serátrue
solo cuando se cree una nueva tarjeta, no cuando el estado sea modificado poronDragEnd
.Así que aquí la
react-transition-group
animación debería dispararse solo cuandohasNewCard
seatrue
.Versión de CodeSandbox:
https://codesandbox.io/s/get-beautiful-drag-to-not-trigger-transition-group-share-o25ej
fuente