Спасибо за помощь @ coreyward. Я понял, что проблема в том, как использовать javascript fetch API
для публикации данных формы. Так что решение здесь довольно простое:
const encode = (data) => {
const formData = new FormData()
Object.keys(data)
.map(key => {
if (key === 'files') {
for (const file of data[key]) {
formData.append(key, file, file.name)
}
} else {
formData.append(key, data[key])
}
})
return formData
}
await window.fetch('/', {
method: 'POST',
body: encode({ 'form-name': 'loan', ...this.state, userId: netlifyIdentity.currentUser().id }),
})
Вы можете заметить, что единственная сложная задача - переписать функцию encode
официального образца статьи с uri encoding
до form data encoding
.