反应挂钩useState与数组

时间:2020-10-25 08:48:25

标签: reactjs react-hooks use-state

如何在useState数组React挂钩中推送新元素? 我的代码不起作用! 仅保留Last doc.data()

const [friends, setFriends] = useState([]);

db.collection('users').doc(user.email).collection('friends').onSnapshot(snapshot => (  
    snapshot.docs.map(doc => {
        setFriends(...friends, doc.data());
    })
))

2 个答案:

答案 0 :(得分:0)

只需将setFriends调用中的值放在方括号内即可。这使它成为数组。

setFriends([...friends, doc.data()]);

答案 1 :(得分:0)

这样做吧

这样,您可以确定自己做对了

setFriends(prevFriends => [...prevFriends, doc.data()]);