React-dnd: Nesting dan kepemilikan backend React DnD

Dibuat pada 17 Agu 2015  ·  7Komentar  ·  Sumber: react-dnd/react-dnd

Apakah ada pegangan untuk backend/DragDropContext yang sudah ada? Saya menggunakan kode Anda dari #186:

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

Tetapi apakah ada cara untuk memeriksa apakah aplikasi lain telah membuat manajer?

design decisions wontfix

Komentar yang paling membantu

@gaearon

Setiap kali saya mencoba melakukan ini, saya terus mendapatkan

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

Tahu apa yang bisa menyebabkan ini? Saya memiliki kode yang sama persis dengan @jaygood dengan DragDropManager yang diimpor dari dnd-core dan HTML5Backend yang diimpor dari perpustakaan yang benar.

Semua 7 komentar

Backend bersarang tidak dipikirkan dengan baik sekarang. Jika Anda ingin mengusulkan perubahan API agar lebih eksplisit, saya senang mendengarnya!

Saya menggunakan versi DragDropContext yang dimodifikasi yang hanya menggunakan getDefaultManager di atas di mana childContext dideklarasikan seperti ini:

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

ini bekerja dengan baik untuk saya dengan tata letak kartu seret & lepas bersarang, tetapi saya memang belum meluangkan waktu untuk meninjau semua implikasi dari pendekatan ini

@gaearon

Setiap kali saya mencoba melakukan ini, saya terus mendapatkan

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

Tahu apa yang bisa menyebabkan ini? Saya memiliki kode yang sama persis dengan @jaygood dengan DragDropManager yang diimpor dari dnd-core dan HTML5Backend yang diimpor dari perpustakaan yang benar.

@akhayoon @gaearon Setelah memperbarui React DND (dan juga React HTML5 Backend) dari 2.6 ke 5.0, saya juga mendapatkan kesalahan ini.

@bureson halo, saya juga menghadapi masalah ini, ada solusi?

@ JJie09 Anda perlu mengubah cara Anda mengimpor lib, salah satu dari yang berikut:

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

Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat