未处理的拒绝(TypeError):无法读取未定义的属性“map”?(React-firebase)
2020-09-26
728
我所做的事情有什么问题,我正在获取集合快照,循环遍历它并将其推送到状态,然后使用该状态呈现一些列表项
但我收到该错误:
未处理的拒绝(TypeError):无法读取未定义的属性“map”
代码:
const [books, setBooks] = useState([]);
db.collection('books').get()
.then(snapshot => snapshot.forEach(doc => {
setBooks([...books, doc.data()])
}))
return (
books.map(return some jsx)
)
1个回答
您执行了太多次
setState
。为什么不简单地执行一次?
const [books, setBooks] = useState([]);
db.collection('books')
.get()
.then(snapshot => snapshot.map(s => s.data())
.then(data => setBooks(data))
}))
return (
books.map(b => <div>{book stuff here}</div>)
)
Sam R.
2020-09-26