将 Meteor 1.3 中的一些代码切换到 ES6+ React 语法。组件需要获取 Meteor 数据,所以我使用 createComponent 来替换 getMeteorData()。问题是,旧的 getMeteorData 使用了组件中的状态,而 createContainer 组件无法访问该状态。
旧代码:
Component = React.createClass({
   mixins: [ReactMeteorData],
   getMeteorData() {
    var mo = this.state.currentMonth;
    var start = newDate(moment(mo).startOf('month'));
    return {
     events:     collections.events.find({
        $or:       qwry,
        startDate: { $gte: start },
        endDate:   { $lte: end }
      }).fetch(),
    }
  },
  render() {
   ...
  }
});
迄今为止的新代码
class Component = React.Component {
 constructor(props) {
  super(props);
 }
 render() {
  ...
 }
}
export default createContainer(({params}) => {
var mo = this.state.currentMonth;
        var start = newDate(moment(mo).startOf('month'));
        return {
         events:     collections.events.find({
            $or:       qwry,
            startDate: { $gte: start },
            endDate:   { $lte: end }
          }).fetch(),
        }
}, Component);
收到错误“无法获得未定义的 currentMonth”,因为它正在尝试访问状态。有什么建议?