reactjs - 在 Redux 的 'compose' 上使用 React.js 道具
问题描述
我正在使用 react-redux-firebase 和 firestoreConnect 从我的数据库中获取信息,并通过他们的预制减速器将其映射到道具中。要将其信息连接到我的组件,我以下列方式使用“撰写”方法:
export default compose(
connect(mapStateToProps, mapDispatchToProps),
firestoreConnect([
{
collection: 'questions',
doc: this.props.match.params.id,
subcollection: 'messages',
}
])
)(QuestionDetail);
如您所见,我正在尝试访问具有 ID 的特定文档,该 ID 作为来自其父级的道具传递给组件。但是,“this”在“compose”的上下文中是未定义的,因此我不能使用它来访问道具和我的参数。
有没有其他方法可以访问传递给组件的 id,以便我可以向 Firestore 请求它?
解决方案
在对文档进行更深入的搜索后,我发现您可以将道具传递给 firestoreConnect 函数(另请注意,我以错误的方式查询子集合)。代码最终是:
export default compose(
connect(mapStateToProps, mapDispatchToProps),
firestoreConnect((props) => [
{
collection: 'questions',
doc: props.match.params.id,
subcollections: [{ collection: 'messages' }],
}
])
)(QuestionDetail);
推荐阅读
- java - 检查扫描的文件是否有字母数组中的字母,并将出现次数计数到另一个数组
- javascript - 在服务器端 javascript 上集成 CSS 的方法是什么?
- webmethods - 输入列表 Web 方法的流程步骤
- python - 无法在离线 CentOS7 服务器中安装 mysqlclient 并显示错误消息“此平台上不受支持的轮子”
- c++ - sfml 不再编译
- android - 构建 apk 发布时将 Gif 文件大小调整为 0
- python - 在scala中进行日期到字符串转换的字符串插值
- javascript - Vue3 反应值未按预期更新
- python - 如何从 StringField 中拆分数据
- python - Python递归二叉搜索树