Странное поведение при перетаскивании элементов при втором перетаскивании response-beautiful-dnd

По какой-то причине каждое второе перетаскивание не очень хорошо работает при использовании пакета Reaction-Beautiful-DDD (см. Изображение)

моя функция onDragEnd выглядит так:

  const onDragEnd = result => { 
    if (!result.destination) {
      return;
    }

    if (
      result.destination.droppableId === result.source.droppableId &&
      result.destination.index === result.source.index
    ) {
       return;
    }

    const draggedItem = list[result.source.index];
    list.splice(result.source.index, 1);
    list.splice(result.destination.index, 0, draggedItem);

    /** Firebase update */
    dbCon.once('value', function(snapshot) {
       snapshot.forEach(function(child) {
         list.map((listChild, index) => {
           if (listChild.props.draggableId === child.key) {
             child.ref.update({ position: index });
           }
         });
       });
     });

    setList(getNodes);
  };

Наличие getNodes, который возвращает дочерние компоненты

Не уверен, что ответственность за это поведение.. какие-либо идеи?

2 ответа

У меня была такая же проблема, когда я использовал response-beautiful-dnd version 11.0.0-beta.

Downgrading to 10.1.1 fixed the problem.

Вы можете найти похожую проблему с 11.0.0-бета, где isDragDisabled не работает здесь

Имейте в виду, что 11.0 все еще в beta! Пока не рекомендуется к производству. Если у вас возникли проблемы, пожалуйста, используйте стабильную 10.x релиз.

Мы ценим детали по любым вопросам, с которыми вы сталкиваетесь 11.0 поэтому мы можем обратиться к ним. Отправить вопрос

Другие вопросы по тегам