Javascript 如何用react控制流星数据流?

Javascript 如何用react控制流星数据流?,javascript,meteor,reactjs,meteor-react,Javascript,Meteor,Reactjs,Meteor React,我正在使用react和meteor,一次从服务器获取数据时遇到问题。组件正在获取流中的数据,并且组件的渲染函数被多次调用 这是我用来从带有mixin的react组件内的客户机上的服务器获取POST的代码 getMeteorData() { return { posts: Posts.find({}, {sort: {createdAt: -1}}).fetch() } }, 到目前为止,这是从服务器获取所有帖子(其中只有大约20篇

我正在使用react和meteor,一次从服务器获取数据时遇到问题。组件正在获取流中的数据,并且组件的渲染函数被多次调用

这是我用来从带有mixin的react组件内的客户机上的服务器获取POST的代码

getMeteorData() {
        return {
            posts: Posts.find({}, {sort: {createdAt: -1}}).fetch()
        }
    },
到目前为止,这是从服务器获取所有帖子(其中只有大约20篇)


如何一次从服务器获取数据,使其不会流式传输并多次调用渲染函数?

如果数据加载已完成,请添加额外检查,例如:

  mixins: [ ReactMeteorData ],
  getMeteorData() {
    var subscription = Meteor.subscribe( 'posts' );

    return {
      isLoading: !subscription.ready(),
      posts: Posts.find({}, {sort: {createdAt: -1}}).fetch()
    };
  },
  render() {
    if ( this.data.isLoading ) {
      return <div>Loading...</div>;
    } else {
      return (
        // now we have data and render once
      );
    }
  }
mixins:[ReactMeteorData],
getMeteorData(){
var subscription=Meteor.subscription('posts');
返回{
正在加载:!subscription.ready(),
posts:posts.find({},{sort:{createdAt:-1}}).fetch()
};
},
render(){
if(this.data.isLoading){
返回装载。。。;
}否则{
返回(
//现在我们有了数据和渲染一次
);
}
}