Если вам нужно отрендерить его только один раз и использовать его для всех элементов, рассмотрите возможность сделать следующее: Сохраните ожидающее удаление в вашем состоянии:
state = {
danger: false,
pendingDelete: '',
}
Затем создайте функции для открытия и закрытия, которые также измените pendingDelete
:
openDeleteModal = (e) => {
const value = e.currentTarget.value;
const aEdit = this.state.all_data.find((e) => e.owner_id === value);
const Dataid = aEdit.owner_id;
const Datapo = aEdit.po_number;
this.setState({
danger: true,
pendingDelete: Dataid //OR save the data, that will be used for the delete function
});
}
closeDeleteModal = () => {
this.setState({
danger: false,
pendingDelete: '',
})
}
Наконец, используйте эти данные в вашем модале:
<Modal isOpen={this.state.danger}
toggle={this.closeDanger}
className={"modal-danger " + this.props.className}>
<ModalHeader toggle={this.closeDanger}>
Delete Material Stock Confirmation
</ModalHeader>
<ModalBody>Are you sure want to delete {insert owner id} - {PO Number}?</ModalBody>
<ModalFooter>
<Button color="danger" value={e._id} onClick={(r) => this.DeleteData(r, this.state.pendingDelete)}>
Delete
</Button>
<Button color="secondary" onClick={this.closeDanger}>
Cancel
</Button>
</ModalFooter>
</Modal>