React-dnd: Aninhamento e propriedade de back-ends do React DnD

Criado em 17 ago. 2015  ·  7Comentários  ·  Fonte: react-dnd/react-dnd

Existe um identificador para back-ends / DragDropContext já estabelecidos? Estou usando seu código de # 186:

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

Mas existe uma maneira de verificar se outro aplicativo criou um gerenciador?

design decisions wontfix

Comentários muito úteis

@gaearon

Sempre que tento fazer isso, continuo recebendo

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

Alguma ideia do que poderia estar causando isso? Eu tenho exatamente o mesmo código que @jaygood com DragDropManager importado de dnd-core e HTML5Backend importado da biblioteca correta.

Todos 7 comentários

Os back-ends de aninhamento não estão bem pensados ​​agora. Se você quiser propor uma alteração na API para torná-la mais explícita, fico feliz em saber!

Estou usando uma versão modificada de DragDropContext que simplesmente usa o getDefaultManager onde childContext é declarado assim:

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

isso está funcionando perfeitamente para mim com um layout de cartão de arrastar e soltar aninhado, mas admito que ainda não reservei tempo para revisar todas as implicações dessa abordagem

@gaearon

Sempre que tento fazer isso, continuo recebendo

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

Alguma ideia do que poderia estar causando isso? Eu tenho exatamente o mesmo código que @jaygood com DragDropManager importado de dnd-core e HTML5Backend importado da biblioteca correta.

@akhayoon @gaearon Depois de atualizar o React DND (e também o React HTML5 Backend) de 2.6 para 5.0, também estou recebendo este erro.

@bureson Olá, também estou enfrentando esse problema. Alguma solução?

@ JJie09, você precisará alterar a maneira como importa a lib, uma das seguintes:

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

Este problema foi marcado automaticamente como obsoleto porque não teve atividades recentes. Ele será fechado se nenhuma outra atividade ocorrer. Obrigado por suas contribuições.

Esta página foi útil?
0 / 5 - 0 avaliações