naco potrebujes vediet pozicie X Y? ty len potrebujes vediet ponad ktorym komponentom sa nachadza dragnuty komponentom . a bud ho insertnes pred alebo za ten komponent. Ja som d'n'd v reacte robil uz viac krat a nic s pixelovymi poziciami som tam nemusel riesit.
Ono je to vpodstate velmi jednoduche. Kazdej komponente ktoru chces presuvat nastavis toto
onDragStart={this.handleDragStart}
onDragEnter={this.handleDragOver}
onDragOver={this.handleDragOver}
onDrop={this.handleDrop}
draggable={true}
v handleDragStart si do reduxu ulozis aktualny element a v onDrop ineho lementu si tu hodnotu precitas z reduxu. ak pracujes s polom takv onDrop len presuvas polozky v poli.
a este ta chcem upozornit jednu vec ak na prenasanie dat nepouzivas event.dataTransfer (ale v reacte typicky redux alebo lokalny state) tak ho ajtak treba nastavit (napr na prazdny string) lebo v FF to bez inicializacie nefungovalo:
private handleDragStart = (event: React.DragEvent<HTMLDivElement>) => {
event.dataTransfer.setData('Text', ''); // nutne nastavit pre FF
safeInvoke(this.props.onDragStart, this, event);
}