如何用反应控制流星数据流?

How to control meteor data stream with react?

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

这是我使用的代码,用于在带有混合的 React 组件内从客户端上的服务器获取帖子。

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
      );
    }
  }