Я пытаюсь получить коллекцию компьютеров и поместить их в массив, чтобы я мог отобразить их с помощью карты в моем операторе возврата компонента responsejs. Однако массив всегда пуст. Я предполагаю, что это как-то связано с async / await, но я не могу этого понять.
Вот код.
function Home() { let computers = []; firestore.collection(«computers»).get().then(function(querySnapshot) { querySnapshot.forEach(function(doc) { let data = doc.data(); data.uid = data.id; computers.push(data); }) }) console.log(computers.length); // Always returns 0 return ( // Using computers.map to render every computer into its own component ); } export default Home;
Да, это из-за этого. Для этого вам нужно будет использовать useState. Документы: reactjs.org/docs/hooks-state.html — person crlegdn schedule 12.01.2021
Источник: