#reactjs #react-hooks #use-state
#reactjs #реагирующие крючки #use-state
Вопрос:
Как вставить новый элемент в useState array React hook? Мой код не работает!! Остался только последний документ.data()
const [friends, setFriends] = useState([]);
db.collection('users').doc(user.email).collection('friends').onSnapshot(snapshot => (
snapshot.docs.map(doc => {
setFriends(...friends, doc.data());
})
))
Комментарии:
1. можете ли вы немного подробнее объяснить, чего вы ожидаете, и есть ли у вас какие-либо ошибки?
Ответ №1:
Сделайте это так
Таким образом, вы уверены, что делаете все правильно
setFriends(prevFriends => [...prevFriends, doc.data()]);
Ответ №2:
Просто заключите значения в скобки внутри вашего setFriends
вызова. Это делает его массивом.
setFriends([...friends, doc.data()]);