Есть ли способ перетаскивания между компонентами? У меня есть два одинаковых компонента (с точки зрения структуры данных и пользовательского интерфейса). Одна кнопка на первом компоненте расширяет второй компонент, и я хочу перетаскивать элементы между ними. Я считаю, что этого нельзя достичь, используя только React.
Я чувствую, что почти достиг цели, но это не меняет того факта, что я застрял. Я сделал все свое приложение <DragDropContext>
и <Draggable>
добавил нужные области. Когда я перетаскиваю элементы в другой компонент, они сначала пытаются занять место в списке в этом компоненте, но не могут поместиться (мне может потребоваться передать DroppableId каждого Droppables с помощью REDUX), и они возвращаются к своим начальным точкам.
Индекс JS выглядит следующим образом:
<DragDropContext onDragEnd = {this.onDragEnd}>
<div className = "row">
<React.Fragment>
<div className = "col-lg-6 col-md-6 col-sm-12 col-">
<ContentSelector idRef = {this.idRef} />
</div>
<div className = "col-lg-6 col-md-6 col-sm-12 col-xs12 pl-0">
<BroadcastCreation idRef = {this.idRef} />
</div>
<div className = "col-lg-6 col-md-6 col-sm-12 col-xs12">
<ScreenArea idRef = {this.idRef} />
</div>
<div className = "col-lg-6 col-md-6 col-sm-12 col-xs12 pl-0">
<Streamed />
</div>
</React.Fragment>
</div>
</DragDropContext>
Компонент1 следующим образом:
map.map((item, index) => mapView.push(
<Draggable key = {item.id} draggableId = {item.id} index = {index}>
{(provided, snapshot) => (
<div
ref = {provided.innerRef}
{...provided.draggableProps}
{...provided.dragHandleProps}
style = {getItemStyle(
snapshot.isDragging,
provided.draggableProps.style
)}
>
Используя реквизит и распустив волосы, мне удалось решить проблему.