, поэтому я пытаюсь получить некоторые данные из моего firestore через следующий бит кода
import React, { useContext, useState, useEffect } from 'react';
import { CocktailContext } from '../../context/CocktailContext';
import fire, { db } from '../../Config/firebase';
import RecipeCard from '../RecipeCard/RecipeCard';
import NavBar from '../NavBar/NavBar';
export default function SavedItemPage() {
const [ content, setContent ] = useState(null);
const { uid } = useContext(CocktailContext);
useEffect(() => {
listenForMessages(uid)
}, []);
const listenForMessages = (id) => {
db.collection('users').doc(id).onSnapshot(function(doc) {
const allMessages = [];
allMessages.push(doc.data());
setContent(allMessages);
console.log(content);
});
};
return (
<div>
<NavBar />
</div>
);
}
, что в основном должно произойти, это то, что контекстный API, который выглядит как показано ниже, берет uid и передает его в listenForMessages (), который затем выполняет работу по извлечению контента
{
"name": "State",
"value": null,
"subHooks": []
},
{
"name": "Context",
"value": {
"recipes": "[{…}, {…}, {…}, {…}, {…}, {…}]",
"searchTerm": "ƒ searchTerm() {}",
"updateUid": "ƒ updateUid() {}",
"uid": "MfLXrE5czaYK7fYiTFuqFv9SZV02"
},
"subHooks": []
},
{
"name": "Effect",
"value": "ƒ () {}",
"subHooks": []
}
]
Проблема в том, что при загрузке страницы я сталкиваюсь с этими ошибками - FirebaseError: Функция CollectionReference.do c () требует его первого аргумент должен иметь тип непустой строки, но это было: ""
, поэтому проблема в том, что listenForMessages () не может получить доступ к значению uid в API контекста.
Может кто-нибудь сказать мне, как решить эту проблему?