【问题标题】:meteorjs reactjs action after authentification流星js在身份验证后反应js动作
【发布时间】:2016-05-29 21:39:27
【问题描述】:

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

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 组件等到所有内容都“加载完毕”?

【问题讨论】:

    标签: meteor reactjs onload account


    【解决方案1】:

    使用订阅对象的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

    【讨论】:

      猜你喜欢
      • 2019-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 2021-07-21
      • 2020-11-13
      • 1970-01-01
      相关资源
      最近更新 更多