React-dnd: рдореЙрдирд┐рдЯрд░.рдЗрд╕рдбреНрд░реИрдЧрд┐рдВрдЧ () рдХрднреА-рдХрднреА рдЭреВрдареА рд╡рд╛рдкрд╕реА рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЗрд╕реЗ рд╕рдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЬреБрд▓ре░ 2015  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: react-dnd/react-dnd

рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд▓ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, Monitor.isDragging() рдХрднреА-рдХрднреА рдЭреВрдард╛ рд░рд┐рдЯрд░реНрди рджреЗрддрд╛ рд╣реИ, рдЬрдм рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реЗ рджреВрд╕рд░реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЦреАрдВрдЪрддреЗ рд╕рдордп рдЗрд╕реЗ рд╕рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдХрд╛рд░реНрдб рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реЗ рджреВрд╕рд░реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдХрд╛рд░реНрдб рдШрдЯрдХ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП isDragging рдкреНрд░реЙрдкрд░реНрдЯреА (рдбреНрд░реИрдЧрд╕реЛрд░реНрд╕ рдбреЗрдХреЛрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЬреЗрдХреНрд╢рди) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рдЖрдЗрдЯрдо рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реЗ рджреВрд╕рд░реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЙрдиреАрдЯрд░ рд╕реНрд░реЛрдд рдЖрдИрдбреА рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЕрдм рдбреНрд░реИрдЧ рдХрд┐рдП рдЧрдП рдШрдЯрдХ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрддрд╛ рд╣реИ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЭреВрдард╛ isDraging рдЬрдм рдпрд╣ рд╕рдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЪреВрдВрдХрд┐ рдбреНрд░реИрдЧрд╕реЛрд░реНрд╕ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рддрд┐ рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╕рдВрдЧрдд рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЕрджреНрд╡рд┐рддреАрдп рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпрджрд┐ рдЖрдкрдХреЗ рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдХ рдХреА рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХрд┐рд╕реА рднреА рд╕рдордп рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВ рддреЛ рдЕрдиреНрдп рд╕рд╛рдорд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ), рдХреНрдпрд╛ рд╕реНрд░реЛрдд рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп рдХреЛрдб рдЙрд╕ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЦреАрдВрдЪрдирд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗ?

рдЕрдЧрд░ рдЖрдкрдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рджреЗрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореЗрд░рд╛ рдХреЛрдб рд╕рд░рд▓ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдореЛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред

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

isDragging рд▓рд┐рдП рдШрдЯрдХ рдЯреНрд░реА рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ isDragging рд▓рд╛рдЧреВ рдХрд░реЗрдВред

const ingredientSource = {
    beginDrag(props) {
        return { ingredient: props.ingredient };
    },
    isDragging(props, monitor) {
        return props.ingredient === monitor.getItem().ingredient;
    }
};

DragSource рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ :

isDragging(props, monitor) : рд╡реИрдХрд▓реНрдкрд┐рдХред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдбреНрд░реИрдЧ рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗрд╡рд▓ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдХреЛ рдбреНрд░реИрдЧрд┐рдВрдЧ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо isDragging рдкрджреНрдзрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ props.id === monitor.getItem().id рдЬреИрд╕рд╛ рдХреБрдЫ рд▓реМрдЯрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рддрдм рдХрд░реЗрдВ рдЬрдм рдореВрд▓ рдШрдЯрдХ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЕрдирдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рд╛рде "рдкреБрдирд░реБрддреНрдерд╛рди" рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рдХрд╛рд░реНрдб рдХреЛ рдХрд╛рдирдмрди рдмреЛрд░реНрдб рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЦреАрдВрдЪреА рдЧрдИ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦреЗ-рднрд▓реЗ рд╣реА рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдШрдЯрдХ рдЕрдирдорд╛рдЙрдВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реВрдЪреА рдореЗрдВ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЕрд▓рдЧ рдорд╛рдЙрдВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред _рдиреЛрдЯ: рдЖрдк рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдВрджрд░ monitor.isDragging() рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред_

рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

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

@amoenk рд╣рд╛рдВ, рд╣рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: http://notlouieagain.com/~amoenk/dnd/

рдФрд░ рдпрд╣ рд▓рд┐рдВрдХ рдЕрдирдмрдВрдбрд▓ рдХреЛрдб рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: http://notlouieagain.com/~amoenk/dnd/js/

рдУрд╣, рдЬрдм рдореИрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рддрдм рднреА рдореИрдВрдиреЗ рдореВрд▓ рд╕рд░рд▓ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдореЛ рдХреЛрдб рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рд╕рдВрдШрдЯрдХ рдФрд░ рд╕рдВрдШрдЯрдХ рд╕рдореВрд╣ рд╣реИрдВред

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реА рдФрд░ рдореБрдЭреЗ DnDStudy рдШрдЯрдХ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЕрдкрдирд╛ рдкреВрд░рд╛ рдХреЛрдб рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЖрдкрдХрд╛ред рдЖрдк рдбреЗрдореЛ рдХреЛрдб рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдбреЗрдореЛ рдХреЛрдб рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛, DnDStudy рдШрдЯрдХ рдпрд╣рд╛рдВ рдПрдХ рдкреГрд╖реНрда рдШрдЯрдХ рд╣реИ: http://notlouieagain.com/~amoenk/dnd/js/pages/DnDStudy.react.js

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ IngredientGroup рдЕрдВрджрд░ DnDStudy рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕рд░рдгреА рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, Ingredient рдЕрдВрджрд░ IngredientGroup рд╕рдорд╛рди рдХреБрдЫ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдХреЛрдб рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдареАрдХред рдореИрдВ рддрдм рдЧрд▓рдд рдерд╛ред

@gaearon рдХреНрдпрд╛ рдЖрдк рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

isDragging рд▓рд┐рдП рдШрдЯрдХ рдЯреНрд░реА рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ isDragging рд▓рд╛рдЧреВ рдХрд░реЗрдВред

const ingredientSource = {
    beginDrag(props) {
        return { ingredient: props.ingredient };
    },
    isDragging(props, monitor) {
        return props.ingredient === monitor.getItem().ingredient;
    }
};

DragSource рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ :

isDragging(props, monitor) : рд╡реИрдХрд▓реНрдкрд┐рдХред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдбреНрд░реИрдЧ рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗрд╡рд▓ рдбреНрд░реИрдЧ рд╕реЛрд░реНрд╕ рдХреЛ рдбреНрд░реИрдЧрд┐рдВрдЧ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо isDragging рдкрджреНрдзрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ props.id === monitor.getItem().id рдЬреИрд╕рд╛ рдХреБрдЫ рд▓реМрдЯрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рддрдм рдХрд░реЗрдВ рдЬрдм рдореВрд▓ рдШрдЯрдХ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЕрдирдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрд╛рдж рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╕рд╛рде "рдкреБрдирд░реБрддреНрдерд╛рди" рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдПрдХ рдХрд╛рд░реНрдб рдХреЛ рдХрд╛рдирдмрди рдмреЛрд░реНрдб рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЦреАрдВрдЪреА рдЧрдИ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦреЗ-рднрд▓реЗ рд╣реА рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдШрдЯрдХ рдЕрдирдорд╛рдЙрдВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реВрдЪреА рдореЗрдВ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЕрд▓рдЧ рдорд╛рдЙрдВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред _рдиреЛрдЯ: рдЖрдк рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдВрджрд░ monitor.isDragging() рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред_

рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо! рдбреЙрдХреНрд╕ рдореЗрдВ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред

рдЖрдкрдХреА рд╕рднреА рдорджрдж рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЯрд┐рдХрдЯ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛ред

рдХреЛрдИ рджрд┐рдХреНрдХрдд рдирд╣реАрдВ рд╣реИред рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рд╣рд╛рдБ! http://notlouieagain.com/ рдХреЗ рд▓рд┐рдВрдХ рдкреНрд░рддрд┐рд╕рд╛рдж рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ ...

рдореБрдЭреЗ рдЕрдкрдиреЗ рдореБрджреНрджреЗ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдорд┐рд▓рд╛ред рдореБрдЭреЗ рдЕрдкрдиреЗ DropTargets рдФрд░ DragSources рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП DragDropContextProvider рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред
http://react-dnd.github.io/react-dnd/docs-drag-drop-context-provider.html

export default class YourApp {
    render() {
        return (
            <DragDropContextProvider backend={HTML5Backend}>
                /* ... */
            </DragDropContextProvider>
        )
    }
}

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдЕрдкрдиреА рдкреВрд░реА рдХрдХреНрд╖рд╛ рдХреЛ рдиреАрдЪреЗ рдХреА рддрд░рд╣ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░реИрдЧрдбреНрд░реЙрдкрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
http://react-dnd.github.io/react-dnd/docs-drag-drop-context.html

class YourApp {
    /* ... */
}
export default DragDropContext(HTML5Backend)(YourApp)

рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рддреБрд░рдВрдд рдареАрдХ рдХрд░ рджрд┐рдпрд╛ред

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

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

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

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

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

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

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