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

์ด ๋ฌธ์ œ์˜ ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ์•„์‹ญ๋‹ˆ๊นŒ? dnd-core์—์„œ ๊ฐ€์ ธ์˜จ DragDropManager ๋ฐ ์˜ฌ๋ฐ”๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜จ HTML5Backend๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

๋ชจ๋“  7 ๋Œ“๊ธ€

์ค‘์ฒฉ ๋ฐฑ์—”๋“œ๋Š” ํ˜„์žฌ ์ž˜ ์ƒ๊ฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. API ๋ณ€๊ฒฝ์„ ์ œ์•ˆํ•˜์—ฌ ๋” ๋ช…์‹œ์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ๊ธฐ๊บผ์ด ๋“ฃ๊ฒ ์Šต๋‹ˆ๋‹ค!

childContext ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธ๋œ ์œ„์˜ getDefaultManager ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” DragDropContext ์˜ ์ˆ˜์ •๋œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด๊ฒƒ์€ ์ค‘์ฒฉ๋œ ๋Œ์–ด์„œ ๋†“๊ธฐ ์นด๋“œ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์ €์—๊ฒŒ ์•„๋ฆ„๋‹ต๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ, ์ €๋Š” ์•„์ง ์ด ์ ‘๊ทผ ๋ฐฉ์‹์˜ ๋ชจ๋“  ์˜๋ฏธ๋ฅผ ๊ฒ€ํ† ํ•  ์‹œ๊ฐ„์„ ๋“ค์ด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@gaearon

๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋งˆ๋‹ค ๋‚˜๋Š” ๊ณ„์†

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

์ด ๋ฌธ์ œ์˜ ์›์ธ์ด ๋ฌด์—‡์ธ์ง€ ์•„์‹ญ๋‹ˆ๊นŒ? dnd-core์—์„œ ๊ฐ€์ ธ์˜จ DragDropManager ๋ฐ ์˜ฌ๋ฐ”๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜จ HTML5Backend๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ

@akhayoon @gaearon React DND(๋ฐ React HTML5 Backend)๋ฅผ 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 ๋“ฑ๊ธ‰