firestoreConnect错误:构建查询名称需要Collection

时间:2018-04-13 20:04:16

标签: reactjs firebase redux react-redux-firebase

我正在尝试配置react-redux-firebase以与redux-firestore一起使用。我遵循示例设置from the official Docs,一切似乎都有效,直到我使用来自react-redux-firebase的firestorConnect连接组件。一旦连接的组件安装,我就会收到以下错误:

  

未捕获错误:构建查询名称

需要收集

这就是我尝试连接我的组件的方式:

import React, { Component } from 'react';
import { connect } from 'react-redux';
import { compose } from 'redux';
import { firestoreConnect } from 'react-redux-firebase';

export class TestComponent extends Component {
  render() {
    return <div>test</div>;
  }
}

export default compose(
  firestoreConnect(['test']),
  connect(state => ({
    test: state.firestore.ordered.test
  }))
)(TestComponent);

更新

可以通过以下方式指定集合来解决问题:

firestoreConnect([{ collecion: 'test' }])

这很奇怪,因为official Docs表示下面的内容也应该有效。

import { compose } from 'redux'
import { connect } from 'react-redux'
import { firestoreConnect } from 'react-redux-firebase'

export default compose(
 firestoreConnect(['todos']), // or { collection: 'todos' }
 connect((state, props) => ({
   todos: state.firestore.ordered.todos
 }))
)(SomeComponent)

我很困惑。

1 个答案:

答案 0 :(得分:0)

我只是遇到了同样的错误,在我的情况下,我缺少了collection中的firestoreConnect键。

错误

export default compose(
  firestoreConnect([
    { projects: 'projects' }
  ]),
  connect(mapStateToProps, mapDispatchToProps)
)(Header);

export default compose(
  firestoreConnect([
    { collection: 'projects' }
  ]),
  connect(mapStateToProps, mapDispatchToProps)
)(Header);