React-dnd: html5рдмреИрдХрдПрдВрдб рдХреЛ рджреЛ рдмрд╛рд░ рд╕реЗрдЯрдЕрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рд╕рд┐рддре░ 2017  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: react-dnd/react-dnd

рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ ory рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди ory рд╕рдВрдкрд╛рджрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-dnd рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ html5backend рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ,
рддреЛ рдореЗрд░рд╛ рдбреНрд░реИрдЧрдбреНрд░реЙрдк рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реЗрдЯрдЕрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХрдВрд╕реЛрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИ,

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдБред рдиреАрдЪреЗ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16 рдореЗрдВ рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 15 рдореЗрдВ рдирд╣реАрдВред рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА рдХреЗ рдЧрд░реНрдо рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

Uncaught Error: Cannot have two HTML5 backends at the same time. at HTML5Backend.setup (HTML5Backend.js:89) at DragDropManager.handleRefCountChange (DragDropManager.js:52) at Object.dispatch (createStore.js:186) at HandlerRegistry.addTarget (HandlerRegistry.js:114) at registerTarget (registerTarget.js:9) at DragDropContainer.receiveType (decorateHandler.js:150) at DragDropContainer.receiveProps (decorateHandler.js:139) at new DragDropContainer (decorateHandler.js:106) at constructClassInstance (react-dom.development.js:9760) at updateClassComponent (react-dom.development.js:10215)

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдБред рдиреАрдЪреЗ рддреНрд░реБрдЯрд┐ рд╕реНрдЯреИрдХ рдЯреНрд░реЗрд╕ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16 рдореЗрдВ рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 15 рдореЗрдВ рдирд╣реАрдВред рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА рдХреЗ рдЧрд░реНрдо рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

Uncaught Error: Cannot have two HTML5 backends at the same time. at HTML5Backend.setup (HTML5Backend.js:89) at DragDropManager.handleRefCountChange (DragDropManager.js:52) at Object.dispatch (createStore.js:186) at HandlerRegistry.addTarget (HandlerRegistry.js:114) at registerTarget (registerTarget.js:9) at DragDropContainer.receiveType (decorateHandler.js:150) at DragDropContainer.receiveProps (decorateHandler.js:139) at new DragDropContainer (decorateHandler.js:106) at constructClassInstance (react-dom.development.js:9760) at updateClassComponent (react-dom.development.js:10215)

рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде 16 рд░рд┐рдПрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдРрдк рдмрдирд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ 16 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рдпрд╣рд╛рдВ рд╡рд╣реАред

рдЕрджреНрдпрддрди: рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА HTML5Backend рдФрд░ DragDropContext рдХреЛ рдПрдХ рдореВрд▓ рдШрдЯрдХ рдореЗрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рдерд╛, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рдШрдЯрдХ рд╡рд╣ рдерд╛ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдирд╡реАрдирддрдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдбреАрдПрдирдбреА рдФрд░ рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдмреИрдХрдПрдВрдб рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ , рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ред

рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди/рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реИ?

рдореИрдВ react-hot-loader , react-dnd рдФрд░ react-dnd-html5-backend рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред HTML5Backend рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдмрдирдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдбреНрд░реИрдЧрдбреНрд░реЙрдкрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╕рдмрд╕реЗ рдКрдкрд░реА рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛:

import { AppContainer } from 'react-hot-loader';
import { DragDropContext } from 'react-dnd';
import HTML5Backend from 'react-dnd-html5-backend';

const AppContainerDnD = DragDropContext(HTML5Backend)(AppContainer);

рдлрд┐рд░ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ AppContainer рдХреЗ рдЗрд╕ рд╕рдЬрд╛рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

render(
  <AppContainerDnD>
    <Root store={store} history={history}/>
  </AppContainerDnD>,
  document.getElementById('app')
);

if (module.hot) {
  module.hot.accept('./components/Root', () => {
    const NewRoot = require('./components/Root').default;
    render(
      <AppContainerDnD>
        <NewRoot store={store} history={history}/>
      </AppContainerDnD>,
      document.getElementById('app')
    );
  });
}

рдЕрдЧрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдЖрддреА рд╣реИ рддреЛ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред

@ рд╣рд╛рд╡рд░реНрдбреЗрдЬ рдзрдиреНрдпрд╡рд╛рдж, рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ!
рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рдХрд╛рдордХрд╛рдЬ рдереЛрдбрд╝рд╛ рдЧрдВрджрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
window.__isReactDndBackendSetUp = false;

@davidspiess рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ, рдЖрдкрдиреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛?

@IvanGrodno рдпрд╣рд╛рдБ рддреБрдо рдЬрд╛рдУ!

import * as React from "react";
import { DragDropContext } from "react-dnd";
import HTML5Backend from "react-dnd-html5-backend";

const App = () => <div>Your App</div>;

// Hack until this ticket is fixed https://github.com/react-dnd/react-dnd/issues/894
window.__isReactDndBackendSetUp = false;

export default DragDropContext(HTML5Backend)(App);

@davidspiess рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдФрд░ рдмрдЧ рдХрд╛ рдХрд╛рд░рдг рдерд╛ рдЬрдм рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рдереАред рдЗрд╕ 'рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА-рдорд╛рдЙрд╕-рдмреИрдХрдПрдВрдб' рдХреЗ рдмрдЬрд╛рдп 'рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рдбреАрдПрдирдбреА-рдПрдЪрдЯреАрдПрдордПрд▓ 5-рдмреИрдХрдПрдВрдб' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЗ рдбреНрд░реИрдЧрдбреНрд░реЙрдкрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдХреИрд╢ рдХрд░рдирд╛ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ:

import * as React from "react";
import { DragDropContext } from "react-dnd";
import HTML5Backend from "react-dnd-html5-backend";

const App = () => <div>Your App</div>;

window.__DragDropContext = window.__DragDropContext ||┬аDragDropContext(HTML5Backend);

export default window.__DragDropContext(HTML5Backend)(App);

рдпрд╣ рдмрдЧ (рдореЗрд░реЗ рд▓рд┐рдП) рдХреЗрд╡рд▓ рдбреНрд░реИрдЧрдбреНрд░реЙрдкрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯрдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдбреНрд░реИрдЧрдбреНрд░реЙрдкрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ/HMR . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрдирдпрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-DND v8.0.3 рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ DndProvider рдХреЗ рдмрдЬрд╛рдп DragDropContext рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

gocreating picture gocreating  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dreamcog picture dreamcog  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Okami92 picture Okami92  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vickyvxr picture vickyvxr  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mx2323 picture mx2323  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ