рдореИрдВ рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди DnD рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рд╡рд╛рд▓реЗ Redux рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЦреАрдВрдЪ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд▓рдХреНрд╖реНрдп (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рд╕рд╛ рд▓рдХреНрд╖реНрдп) рдордБрдбрд░рд╛ рд░рд╣рд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреА рдХрд▓реНрдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреНрд░реИрдЧрд┐рдВрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рд▓рдХреНрд╖реНрдп рдкрд░ рд╣реЙрд╡рд░рд┐рдВрдЧ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдХрд▓реНрдкрдирд╛ рдореЗрдВ 'рд╣реЛрд╡рд░' рдкрджреНрдзрддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдЧрд╛рддрд╛рд░ рдЖрдЧ рд▓рдЧрд╛рддреА рд╣реИ, рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╣реЛрд╡рд░ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рдмрддрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдЖрджрд░реНрд╢ рд╕реЗ рдХрдо рд▓рдЧрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдореБрдЦреНрдп рдРрдк рдХреНрд╖реЗрддреНрд░ рдХреЛ рдПрдХ рдбреНрд░реЙрдкрдЯрд╛рд░реНрдЧ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдФрд░ 'рдЙрдерд▓реЗ' рдЪреЗрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдбреНрд░реЙрдк рд▓рдХреНрд╖реНрдп рдордБрдбрд░рд╛ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдбреАрдПрдирдбреА рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдХрдореА рдирд╣реАрдВ рдХреА рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдкрдиреА onDrag*
рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╡рд╣реА рдмрд╛рдБрдз рд╕рдХреВрдВ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред рдореЗрд░реЗ рдРрдк рдХреЛрдб рдФрд░ react-dnd
рдмреАрдЪ рдереЛрдбрд╝реА рд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЙрди рдорд╛рдиреНрдпрддрд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдареАрдХ рд╣реИред
рдЖрдк componentWillReceiveProps
рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ nextProps.isOver !== this.props.isOver
рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрдЧ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ isOver: monitor.isOver()
рдХреЛ рдЕрдкрдиреЗ DropTarget
collect()
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдк
componentWillReceiveProps
рдЬреАрд╡рдирдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░nextProps.isOver !== this.props.isOver
рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрдЧ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛisOver: monitor.isOver()
рдХреЛ рдЕрдкрдиреЗDropTarget
collect()
рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред