рд╢рд╛рдпрдж рдпрд╣ https://github.com/react-dnd/react-dnd/issues/399 рдХрд╛ рд╕рдВрднрд╛рд╡рд┐рдд рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд╣реИ
рдпрд╣ рд╢рд╛рдпрдж рдЬреНрдЮрд╛рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:
render () {
const { connectDragSource, connectDragPreview, isDragging } = this.props;
return (
<div className='top'>
<div>Ordinary</div>
{connectDragSource (<div>Dragabble</div>)}
{connectDragPreview (<div>my preview</div>)}
</div>
);
}
рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдШрдЯрдХ рдХреЗрд╡рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдП, рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред
рд▓реЗрдХрд┐рди рдпрд╣ 'рдЯреЙрдк' рдбрд┐рд╡ рдХреЗ рдЕрдВрджрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдШрдЯрдХ рдХреЗ рдиреАрдЪреЗ <div>my preview</div>
рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВред рдХреНрдпрд╛ рдпрд╣ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ (рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рд▓реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ):
https://github.com/react-dnd/react-dnd/blob/master/examples/02%20Drag%20Around/Custom%20Drag%20Layer/CustomDragLayer.js
рдФрд░ рдпрд╣ рдХреЛрдб рдХрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ:
import { getEmptyImage } from 'react-dnd-html5-backend';
componentDidMount() {
// Use empty image as a drag preview so browsers don't draw it
// and we can draw whatever we want on the custom drag layer instead.
if (this.props.connectDragPreview) {
this.props.connectDragPreview(getEmptyImage(), {
// IE fallback: specify that we'd rather screenshot the node
// when it already knows it's being dragged so we can hide it with CSS.
captureDraggingState: true,
});
}
}
рдирдорд╕реНрддреЗ
рдореБрдЭреЗ рдбреНрд░реИрдЧрд╕реЛрд░реНрд╕ рдШрдЯрдХ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧрдкреНрд░рд╡реНрдпреВ рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдкреЛрдиреЗрдВрдЯрдбрд┐рдбрдорд╛рдЙрдВрдЯ () рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЦреАрдВрдЪрддреЗ рд╕рдордп рдХреЛрдИ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдирд╣реАрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред