身份验证后流星js反应js动作

meteorjs reactjs action after authentification

我有以下将数据传递给另一个组件的 React 组件:

export default class App extends TrackerReact(Component){

 getUserFrameData(){
   return (FrameCollection.find().fetch());
 }
 render(){
   return(
     <div className="main-container">
      <Frames
        data={this.getUserFrameData()}
       />
</div>
);
}
}

现在我希望我的框架组件在组件初始化时执行一个操作。

export default class Frames extends Component{
   componentDidMount(){
      console.log(this.props.data);
   }

   render() {...}

  }

但是我在加载时只得到空数据。我认为这是因为我正在使用订阅和登录系统。那么我如何才能让我的 Frames 组件等到一切都变成 "loaded up"?

使用订阅对象的ready方法。

constructor() {
  super();
  this.state = {
    sub: Meteor.subscribe('myPublication')
  }
}

render() {
  if (!this.state.sub.ready()) return <p>Loading...</p>;
  return ...
}

http://docs.meteor.com/api/pubsub.html#Subscription-ready