我正在创建一个函数,该函数根据在输入框中输入的名称来查询我的Firestore数据库并返回一些数据。现在,我的查询有效并登录到控制台。问题是我在访问此数据时遇到很多麻烦,因此无法将其呈现到DOM上。如何访问此数据的最佳方法是什么?
我已经使用此代码=>
将整个数据库渲染到DOM上。const mapStateToProps = (state) => {
console.log(state.firestore.queries)
return {
dogs: state.firestore.ordered.dogs,
auth: state.firebase.auth
}
}
export default compose(
connect(mapStateToProps, mapDispatchToProps),
firestoreConnect(() => {
return [
{
collection: 'dogs',
}
]
})
)(ManageDogs)
但是当我按照以下方式构造firestoreConnect()函数时=>
export default compose(
connect(mapStateToProps, mapDispatchToProps),
firestoreConnect(() => {
return [
{
collection: 'dogs',
where: ['name', '==', 'Fido']
}
]
})
)(ManageDogs)
查询记录到控制台,如下所示=>
{status: {…}, data: {…}, ordered: {…}, listeners: {…}, errors: {…}, …}
composite: {dogs: {…}}
data: {dogs: {…}}
errors: {byQuery: {…}, allIds: Array(0)}
listeners: {byId: {…}, allIds: Array(2)}
ordered: {dogs: Array(4)}
queries:
dogs?where=name:==:Fido: {data: {…}, collection: "dogs", where: Array(3)}
__proto__: Object
status: {requesting: {…}, requested: {…}, timestamps: {…}}
__proto__: Object
查询的数据最终以状态state.firestore.queries.dogs?where = name:==:Fido结束,但是当我尝试在mapStateToProps中使用此路径时,它返回的值未定义。
访问此数据的最佳方法是什么?以前有没有人处理过?有没有更好的方法来查询Firestore数据库?