#javascript #reactjs #firebase #firebase-realtime-database
#javascript #reactjs #firebase #firebase-база данных в реальном времени
Вопрос:
У меня есть несколько сообщений в файле Firebase posts.json, которые я ввел вручную, которые выглядят как показано ниже, post1, post2…
Когда я ввожу новые данные — объект FormData в Firebase с post-запросом, подобным этому:
const submitHandler = e => {
e.preventDefault();
const err = validate();
if(err === false) {
setFormData(formData)
const requestOptions = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({formData})
};
fetch('https://blog-d8b04-default-rtdb.europe-west1.firebasedatabase.app/posts.json', requestOptions)
.then(response => setLoading(true))
.then(data => setLoading(false));
}
}
Я получаю сообщение, подобное этому, с уникальными ключами в качестве имен, которые генерируют firebase, и ниже FormData.
Но я хочу, чтобы они были того же формата, что и сообщения, которые я ввел вручную в firebase (posts1, post2).
Есть ли способ добиться этого?
Ответ №1:
Литерал JSON { formData }
на самом деле является сокращением для { formData: formData }
, что объясняет формат, который вы получаете в итоге.
Вы ищете:
body: JSON.stringify(formData)
Так что без {}
обходных formData
путей.