Что вам нужно сделать, это: 1. Сделать div из Dialog перетаскиваемым как 2. Применить событие onDrag к тому же div и передать функцию, и функция будет делать что-то вроде:
handleDragEvent = (event) => {
this.setState({
positionX: event.clientX,
positionY: event.clientY,
})
}
И тогда вам нужно дать эти координаты вашим диалогам в качестве исходной позиции. Возможно, вам потребуется полировка указанной выше функции в соответствии с вашими потребностями.