【发布时间】:2020-09-16 09:32:14
【问题描述】:
刚开始在这里学习钩子。
我正在从 firestore 获取数据并尝试使用挂钩将其设置为状态。当我取消注释该行时,我陷入了无限循环。没有错误,但是控制台会疯狂记录数千次状态。
如果您需要更多信息,请告诉我!
function Lists(props) {
const [lists, setLists] = useState([])
const [loading, setLoading] = useState(true)
useEffect(() => {
const subscriber =
firestore().collection('users').doc(props.user).collection('lists')
.onSnapshot(QuerySnapshot => {
const items = []
QuerySnapshot.forEach(documentSnapshot => {
items.push({
...documentSnapshot.data(),
key: documentSnapshot.id,
});
//setLists(items)
setLoading(false)
console.log(lists)
})
})
// unsubscribe from firestore
return () => subscriber();
})
//rest of func..
【问题讨论】:
标签: reactjs firebase react-native react-hooks react-native-firebase