2017-12-28 21 views
0

私は、次のコードを持っている:私は、データが(this.loading!)の後に処理themm前にロードされるようにしたいgraphqlクエリを待つ方法はapolloを使って終了しましたか?

ngOnInit() { 

    this.data = this.apollo.query({ query: ResidentQuery }).subscribe(({data, loading}) => { 
     this.data = data; 
     this.loading = loading; 
    }); 

    if (!this.loading) { 
     // using this.data 
    } 
    } 

を。ロードは非同期であるため、そうではありません。データを使用する前にデータがロードされるのを待つ方法はありますか?

私は、apollo clientを使用してgraphqlクエリを作成しています。 ResidentQueryは、graphqlクエリを含む文字列です。

フィードバックに感謝いたします。

答えて

0

どのように角度の作品が、私はそれがどのように反応し、私は2つが似ていることを知っている知っている。

では、あなたが、たとえば、componentWillReceiveProps()を使用する必要があり、反応:

componentWillReceiveProps(newProps){ 
     if(!newProps.query.loading){ 
      this.setState({data: newProps.query.data}) 
     } 
    } 

メディアの記事からhow angular and react lifecycles are similar

のために基本的には、小道具は、角度によって自動的にバインドされますので、私が思う セッターとゲッター関数は、その部分であり、 には複雑な状態や変数を生成する方法があります。できることはcomponentWillReceiveProps()内の です。

関連する問題