Отправка данных в Firebase — с помощью post request — React

#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 путей.