У меня есть компонент внутри модального окна, где я могу загрузить несколько файлов. Он должен быть закрыт, когда все файлы уже загружены, или дать мне сообщение, если один из них не смог загрузить .eg (файл слишком большой)
Компонент - ModalUploadFile.jsx
this.state = {
files: [file1, file2, file2]
}
Следующие коды будут вызываться при нажатии кнопки подтверждения
uploadFile = () => {
this.refs.btn.setAttribute("disabled", "disabled");
this.state.files.map( function(file) {
this.props.saveFile(this.props.selected_candidate.id, file)
}, this
)
}
Sagas.js
function* saveFile(action) {
try {
let file = action.file
let formData = new FormData()
formData.append("file", file)
let result = yield fetch(URL, {
method: "POST",
credentials: "same-origin",
body: formData
}).then(response => response.json()).then(data => {
return data
})
yield put({
type: actionTypes.FILE_UPLOADED,
ci: result
})
yield put({
type: actionTypes.CLOSE_MODAL
})
} catch (ex) {
console.log(ex)
}
}
В настоящее время модал выгрузки будет закрыт при успешной загрузке одного из файлов.