React-dnd: НСвозмоТно ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ DragDropContext Π² v9.3.2

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 24 июл. 2019  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: react-dnd/react-dnd

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ
Π― ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» dnd с 7.4.5 Π΄ΠΎ 9.3.2, Π½ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Ошибка ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°: Β«DragDropContextΒ» Π½Π΅ экспортируСтся ΠΈΠ· Β«response-dndΒ». Π² 9.3.2

Π Π°Π·ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π”Π•ΠœΠžΠ

Π¨Π°Π³ΠΈ ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ повСдСния:

  1. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ '...'
  2. НаТмитС Π½Π° '....'
  3. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ· Π΄ΠΎ "...."
  4. Π£Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ

ОТидаСмоС повСдСниС
Π§Π΅Ρ‚ΠΊΠΎΠ΅ ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹
Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ снимки экрана, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.
image

Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол (Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ):

  • ОБ: [Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, iOS]
  • Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ [послСдняя вСрсия Chrome]
  • ВСрсия [Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 22]

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ сюда любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ контСкст ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Π΅ΠΌ я Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»

- 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>
+     );
+ };

ВсС 8 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, DragDropContext Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ с вСрсии 9 https://github.com/react-dnd/react-dnd/pull/1439

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, DragDropContext Π±Ρ‹Π» ΡƒΠ΄Π°Π»Π΅Π½ с вСрсии 9 # 1439

о, спасибо

Какой ΠΏΡƒΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° это Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ?

РСбята, Π΅ΡΡ‚ΡŒ Π»ΠΈ руководство ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ критичСских ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² вСрсии 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>
+     );
+ };

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΈΡ‰Π΅Ρ‚ Π² Google, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ:

ЭВО НЕ Π ΠΠ‘ΠžΠ’ΠΠ•Π’

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 code

ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ