React-dnd: Imbrication et propriété des backends React DnD

Créé le 17 août 2015  ·  7Commentaires  ·  Source: react-dnd/react-dnd

Existe-t-il une poignée pour les backends/DragDropContext déjà établis ? J'utilise votre code de #186 :

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

Mais existe-t-il un moyen de vérifier si une autre application a créé un gestionnaire ?

design decisions wontfix

Commentaire le plus utile

@gaearon

Chaque fois que j'essaye de faire ça, je continue

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

Une idée de ce qui pourrait causer cela ? J'ai exactement le même code que @jaygood avec DragDropManager importé de dnd-core et HTML5Backend importé de la bonne bibliothèque.

Tous les 7 commentaires

L'imbrication des backends n'est pas bien pensée maintenant. Si vous souhaitez proposer un changement d'API pour le rendre plus explicite, je suis heureux de l'entendre !

J'utilise une version modifiée de DragDropContext qui utilise simplement le getDefaultManager ci-dessus où le childContext est déclaré comme suit :

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

cela fonctionne à merveille pour moi avec une mise en page de carte glisser-déposer imbriquée, mais je n'ai certes pas encore pris le temps d'examiner toutes les implications de cette approche

@gaearon

Chaque fois que j'essaye de faire ça, je continue

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

Une idée de ce qui pourrait causer cela ? J'ai exactement le même code que @jaygood avec DragDropManager importé de dnd-core et HTML5Backend importé de la bonne bibliothèque.

@akhayoon @gaearon Après avoir mis à jour React DND (ainsi que React HTML5 Backend) de 2.6 à 5.0,

@bureson bonjour, je

@ JJie09, vous devrez modifier la façon dont vous importez la bibliothèque, l'une des suivantes :

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

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.

Cette page vous a été utile?
0 / 5 - 0 notes