我使用 Meteor 和 react 和 FlowRouter 来处理订阅。我发现当我的组件渲染时,它会在几秒钟后渲染两次,但只有当我订阅了流星 mixin 时。
例如:
PeoplePage = React.createClass({
displayName:"People",
mixins: [ReactMeteorData],
getMeteorData() {
const subHandles = [
Meteor.subscribe("allPeople"),
];
const subsReady = _.all(subHandles, function (handle) {
return handle.ready();
});
return {
subsReady: subsReady,
people: People.find({}).fetch(),
};
},
render(){
if(this.data.subsReady == false){
return (<Loading/>);
} else {
console.log(this.data);
........
}
相同的信息显示两次。这是由于 FlowRouter 使用的快速渲染,还是我做错了什么?