Я использую React DnD для пары различных источников драг.В chrome все они работают нормально, но для одного из компонентов в Firefox, хотя кажется, что компонент перетаскивается, ничего не происходит на дроптагете.Некоторые исследования показывают, что beginDrag()
никогда не вызывается:
У меня есть следующая оболочка для неисправного компонента (с некоторой отладочной печатью):
DragSource(
DIALOGUE,
{
beginDrag(props) {
console.log('beginDrag()');
return {
id: props.id,
};
},
},
(connection, monitor) => {
console.log('monitor.canDrag()', monitor.canDrag());
console.log('monitor.isDragging()', monitor.isDragging());
console.log('monitor.getItemType()', monitor.getItemType());
console.log('monitor.getItem()', monitor.getItem());
return {
connectDragSource: connection.dragSource(),
isDragging: monitor.isDragging(),
};
},
)
Когда я начинаю перетаскивать компонент в Chrome(где это работает) Я вижу следующий вывод консоли:
beginDrag()
monitor.canDrag() false
monitor.isDragging() false
monitor.getItemType() DIALOGUE
monitor.getItem() {id: "bcf5947c-29ec-4fd8-9efc-6f3810ea167a"}
monitor.canDrag() false
monitor.isDragging() true
monitor.getItemType() DIALOGUE
monitor.getItem() {id: "bcf5947c-29ec-4fd8-9efc-6f3810ea167a"}
в то время как в Firefox, где он не работает, я получаю
monitor.canDrag() false
monitor.isDragging() false
monitor.getItemType() __NATIVE_URL__
monitor.getItem() Object { urls: Getter }
Так что я вижу, что beginDrag
никогда не бываетisDragging
никогда не становится истиной, а itemType
и item
имеют некоторые странные значения.
Я использую реагирующую версию 16.3.2, реагирующую версию 2.6.0 и Firefox версию 59.0.3.
Есть идеи, что происходит?