React DnD:beginDrag() 从未在 Firefox 上调用
React DnD: beginDrag() never called on Firefox
我正在为几个不同的拖动源使用 React DnD。在 chrome 中,它们都工作正常,但对于 Firefox 中的一个组件,尽管看起来组件正在被拖动,但 droptarget 上没有任何反应。一些调查显示 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
有一些奇怪的值。
我使用的是 React 版本 16.3.2、react-dnd 版本 2.6.0 和 Firefox 版本 59.0.3。
知道发生了什么事吗?
我在尝试使按钮可拖动时遇到了这个问题 - 事实证明按钮从 Firefox 61.0.1 (https://bugzilla.mozilla.org/show_bug.cgi?id=568313) 开始不可拖动 - 并通过切换到 修复了它。
我正在为几个不同的拖动源使用 React DnD。在 chrome 中,它们都工作正常,但对于 Firefox 中的一个组件,尽管看起来组件正在被拖动,但 droptarget 上没有任何反应。一些调查显示 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
有一些奇怪的值。
我使用的是 React 版本 16.3.2、react-dnd 版本 2.6.0 和 Firefox 版本 59.0.3。
知道发生了什么事吗?
我在尝试使按钮可拖动时遇到了这个问题 - 事实证明按钮从 Firefox 61.0.1 (https://bugzilla.mozilla.org/show_bug.cgi?id=568313) 开始不可拖动 - 并通过切换到 修复了它。