λ²κ·Έ μ€λͺ
dndλ₯Ό 7.4.5μμ 9.3.2λ‘ μ
κ·Έλ μ΄λνμ§λ§ λΈλΌμ°μ μμ μ€λ₯κ° λ°μν©λλ€.
κ°μ Έμ€κΈ° μλ μ€λ₯: 'DragDropContext'λ₯Ό 'react-dnd'μμ λ΄λ³΄λ΄μ§ μμμ΅λλ€. 9.3.2μμ
μμ
λμμ μ¬ννλ λ¨κ³:
μμλλ νλ
μμνλ μΌμ λν λͺ
ννκ³ κ°κ²°ν μ€λͺ
.
μ€ν¬λ¦°μ·
ν΄λΉνλ κ²½μ° λ¬Έμ λ₯Ό μ€λͺ
νλ λ° λμμ΄ λλ μ€ν¬λ¦°μ·μ μΆκ°νμΈμ.
λ°μ€ν¬ν(λ€μ μ 보λ₯Ό μμ±νμμμ€):
μΆκ° 컨ν
μ€νΈ
μ¬κΈ°μ λ¬Έμ μ λν λ€λ₯Έ 컨ν
μ€νΈλ₯Ό μΆκ°νμμμ€.
μλ
νμΈμ, DragDropContext
λ λ²μ 9 μ΄ν μ κ±°λμμ΅λλ€ https://github.com/react-dnd/react-dnd/pull/1439
μλ νμΈμ,
DragDropContext
λ λ²μ 9 #1439 μ΄ν μ κ±°λμμ΅λλ€.
μ€ thx
μ΄κ²μ΄ μ κ±°λ μ§κΈ λ§μ΄κ·Έλ μ΄μ κ²½λ‘λ 무μμ λκΉ?
μ¬λ¬λΆ, 9.x λ²μ μ μ£Όμ λ³κ²½ μ¬νμ λν λ§μ΄κ·Έλ μ΄μ κ°μ΄λκ° μμ΅λκΉ?
μ¬λ¬λΆ, 9.x λ²μ μ μ£Όμ λ³κ²½ μ¬νμ λν λ§μ΄κ·Έλ μ΄μ κ°μ΄λκ° μμ΅λκΉ?
μλμ, μμ±μμκ² λ¬Έμλ₯Ό μ λ°μ΄νΈνλλ‘ μκΈ°μν¬ μ μμ΅λλ€.
μ΄κ²μ΄ λ΄κ° ν μΌμ΄λ€.
- import { DragDropContext } from "react-dnd";
- import HTML5Backend from "react-dnd-html5-backend";
-
- export const withDragDropContext = DragDropContext(HTML5Backend);
+ import * as React from "react";
+ import HTML5Backend from "react-dnd-html5-backend";
+ import { DndProvider } from "react-dnd";
+
+ export const withDragDropContext = <TProps extends {}>(Component: React.ComponentClass<TProps> | React.StatelessComponent<TProps>) =>
+ {
+ return (props: TProps) => (
+ <DndProvider backend={HTML5Backend}>
+ <Component {...props} />
+ </DndProvider>
+ );
+ };
μΈν°λ· κ²μμ νλ μ¬λλ€μκ²λ λ€μμ΄ λμμ΄ λ μ μμ΅λλ€.
μ΄κ²μ μλνμ§ μμ΅λλ€
import { createDndContext, DndProvider } from "react-dnd";
import Backend from "react-dnd-html5-backend";
// ...
const DndContext = createDndContext(Backend);
// ...
const MyComponent = () => (
<DndProvider backend={Backend} context={DndContext}>
/* ... */
</DndProvider>
);
λλ λ°λ³΅νλ€, κ·Έκ²μ μλνμ§ μλλ€
λμ λ€μμ μννμμμ€.
import { createDndContext, DndProvider } from "react-dnd";
import Backend from "react-dnd-html5-backend";
// ...
const DndContext = createDndContext(Backend);
// ...
const myComponent = () => (
const managerRef = useRef(DndContext);
<DndProvider backend={Backend} manager={managerRef.current.dragDropManager}>
/* ... */
</DndProvider>
)
μΆμ²: Dnd μ½λ
ν΄κ²° λ°©λ²
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ΄ λ΄κ° ν μΌμ΄λ€.