如何获得createContainer&在主jsx之外工作的集合

时间:2016-06-06 10:03:30

标签: meteor reactjs

我是Meteor / React.js应用程序的新手,虽然我已经能够通过将App.jsx集合作为道具传递来拼凑一个具有多个组件的应用程序,但我似乎无法获得个性化用于处理自己的集合的组件。我的理由是,某些组件需要按一个顺序获取集合,而其他组件需要在另一个组件中获取集合。传递一个集合似乎很愚蠢,然后必须在内部操纵它以获得正确的效果,当需要新的排序时。我的主要App.jsx有:

App.propTypes = {
  workdone:PropTypes.array.isRequired,
  subjects:PropTypes.array.isRequired
};

export default createContainer(() => {
  return {
    workdone: WorkDoneCollection.find({},{sort:{createdAt:-1}}).fetch(),
    subjects: SubjectCollection.find({},{sort:{subject:1}}).fetch()
  };
}, App);

如果我将props.workdone传递给另一个组件,一切正常。另一方面,如果我尝试在另一个组件中设置一个独立的集合,如下所示:

WorkSummary.propTypes = {
  workdone:PropTypes.array
};

export default createContainer(() => {
  return {
    workdone: WorkDoneCollection.find({},{sort:{createdAt:1}}).fetch()
  };
}, WorkSummary);

workdone属性未定义。

0 个答案:

没有答案