reactjs - 如何使用 react-redux-firebase 从 firestore 获取子集合
问题描述
我无法从我的 Firestore 数据中获取子集合。
我按照这里的文档。并且还查看了许多其他类似的问题。
我似乎无法获得我想要获得的数据数组。
我的代码:
import "../../styles/projects/ProjectDashboard.css";
import ProjectList from "./ProjectList";
import { connect } from "react-redux";
import { firestoreConnect } from "react-redux-firebase";
import { compose } from "redux";
import { Redirect } from "react-router-dom";
export class ProjectDashboard extends Component {
render() {
const { projects, auth } = this.props;
if (!auth.uid) return <Redirect to="/sigin" />;
return (
<div className="container">
<h2>Projects</h2>
<ProjectList projects={projects} />
</div>
);
}
}
const mapStateToProps = state => {
console.log(state);
return {
projects: state.firestore.ordered.projects,
auth: state.firebase.auth
};
};
export default compose(
connect(mapStateToProps),
firestoreConnect(props => {
return [
{
collection: "users",
doc: props.auth.uid,
subcollection: [{ collection: "projects" }]
}
];
})
)(ProjectDashboard);
这就是我现在从我的控制台得到的:
firestore:
|-composite: undefined
|-data: {users: {…}}
|-errors: {byQuery: {…}, allIds: Array(0)}
|-listeners: {byId: {…}, allIds: Array(1)}
|-ordered:
|--users: Array(1)
|---0: {id: "o06VEyRbGDcURTmKal3gDEDZQO73", firstName: "testing", lastName: "you", userId: "o06VEyRbGDcURTmKal3gDEDZQO73"}
|---length: 1
|---__proto__: Array(0)
|--__proto__: Object
|-queries: {}
|-status: {requesting: {…}, requested: {…}, timestamps: {…}}
|-__proto__: Object
我在想我的代码会改变这部分:
|-ordered:
|--users: Array(1)
|---0: {id: "o06VEyRbGDcURTmKal3gDEDZQO73", firstName: "testing", lastName: "you", userId: "o06VEyRbGDcURTmKal3gDEDZQO73"}
像这样:
|-ordered:
|--projects: Array(3)
|---0: {id: "o06VEyRbGDcURTmKal3gDEDZQO73", firstName: "testing", lastName: "you", userId: "o06VEyRbGDcURTmKal3gDEDZQO73"}
|---1: {id: "o06VEyRbGDcURTmKal3gDEDZQO73", firstName: "testing", lastName: "you", userId: "o06VEyRbGDcURTmKal3gDEDZQO73"}
|---2: {id: "o06VEyRbGDcURTmKal3gDEDZQO73", firstName: "testing", lastName: "you", userId: "o06VEyRbGDcURTmKal3gDEDZQO73"}
所以我可以通过密钥获取数组。但是现在我对如何将其更改为我的子集合键感到迷茫。
解决方案
我意识到它应该是“子集合”而不是“子集合”
推荐阅读
- python - 在熊猫数据框中计算相同的日期
- c++ - 尽管我添加了 boost 库,但 Eclipse 并没有在 C++ 中构建它们。为什么?
- fonts - 不同操作系统的不同字体系列
- javascript - 在javascript中将选项对象添加到2个选择框
- keycloak - Keycloak:用户的临时和永久锁定
- scala - 使用kafka的sbt项目火花流
- android - 未调用 Admob 奖励视频广告事件
- ruby - 代理后面的mailgun-ruby
- c# - 如何从 API 显示 JSON 值
- angular - 如何告诉 Jhipster 仅将 ES6 用于 Angular/React 应用程序?