React-dnd: React DnD 后端的嵌套和所有权

创建于 2015-08-17  ·  7评论  ·  资料来源: react-dnd/react-dnd

是否有已建立的后端/DragDropContext 的句柄? 我正在使用 #186 中的代码:

let defaultManager;
function getDefaultManager() {
    if (!defaultManager) {
        defaultManager = new DragDropManager(HTML5Backend);
    }
    return defaultManager;
}

但是有没有办法检查另一个应用程序是否创建了管理器?

design decisions wontfix

最有用的评论

@gaearon

每当我尝试这样做时,我都会得到

DragDropManager.js:40 Uncaught TypeError: createBackend is not a function

知道是什么原因造成的吗? 我有与@jaygood完全相同的代码,其中 DragDropManager 从 dnd-core 导入,HTML5Backend 从正确的库导入。

所有7条评论

嵌套后端现在还没有考虑好。 如果您想提出 API 更改以使其更明确,我很高兴听到它!

我正在使用DragDropContext的修改版本,它只是使用上面的getDefaultManager ,其中childContext声明如下:

    const childContext = {
        dragDropManager: getDefaultManager(backend)
    };

嵌套拖放卡布局对我来说效果很好,但我承认我还没有花时间审查这种方法的所有含义

@gaearon

每当我尝试这样做时,我都会得到

DragDropManager.js:40 Uncaught TypeError: createBackend is not a function

知道是什么原因造成的吗? 我有与@jaygood完全相同的代码,其中 DragDropManager 从 dnd-core 导入,HTML5Backend 从正确的库导入。

@akhayoon @gaearon将 React DND(以及 React HTML5 后端)从 2.6 更新到 5.0 后,我也收到此错误。

@bureson你好,我也面临这个问题,有什么解决方法吗?

@JJie09您需要更改导入 lib 的方式,以下之一:

import HTML5Backend from "react-dnd-html5-backend"
const HTML5Backend = require('react-dnd-html5-backend').default;

此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢你的贡献。

此页面是否有帮助?
0 / 5 - 0 等级