React 钩子 useState 与 Array

React hooks useState with Array

如何在 useState 数组 React hook 中推送新元素? 我的代码不起作用!! 只剩下最后doc.data()

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

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

只需将 setFriends 调用中的值括起来即可。这使它成为一个数组。

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

这样做

这样你就可以确定你做对了

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