将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() {
...
}
});
Run Code Online (Sandbox Code Playgroud)
新法典迄今为止
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: { …Run Code Online (Sandbox Code Playgroud)