1

リフレッシュするときにエラーが発生する。 enter image description hereListViewのRefreshControlが何らかの不明な理由で機能しない

コードが間違って起こっているthis-

loadData: function(){ 

    var _this = this; 
    this.API(); 

    //check if data is loaded 
    setTimeout(function(){ 
     if(_this.isMounted()){ 
      if(_this.state.loaded===false){ 
       _this.setState({ 
        isReloadRequired: true 
       }) 
      } 
     } 
    }, 10000); 
}, 
API: function(){ 

    var _this = this; 
    this.setState({ rawData: [], isReloadRequired: false, loaded: false, isRefreshing: true }); 

    Parse.Cloud.run('fetchBookingListForUserCloudFunction', { 
     user_id: Parse.User.current().getUsername() 
    }).then(

     function(result){ 
      var cleanData = []; 
      for(var i=0;i<result.length;i++){ 
       cleanData.push(result[i].toJSON()); 
      } 

      _this.setState({ 
       rawData: _this.state.rawData.concat(cleanData), 
       dataSource: _this.state.dataSource.cloneWithRows(cleanData), 
       loaded: true, 
       isReloadRequired: false, 
       isRefreshing: false, 
      }); 
     }, 
     function(error){ 
      _this.setState({ isReloadRequired: true, loaded: false, isRefreshing: false }) 
      console.log("[HOME API] Error: "+ JSON.stringify(error, null, 2)); 
     } 
    ); 
}, 
render: function(){ 
    return(
     {this.state.loaded ? this.renderListView() : this.renderLoadingView()} 
    ) 
}, 

renderListView: function(){ 
    if(this.state.rawData.length === 0){ 
     return(
      <View style={styles.container}> 
       <Text>Tap to book.</Text> 
      </View> 
     ); 
    } 
    return(
     <ListView 
      dataSource={this.state.dataSource} 
      renderRow={this.renderReservation} 
      style={styles.listView} 
      refreshControl={ 
       <RefreshControl 
        refreshing={this.state.isRefreshing} 
        onRefresh={this.loadData} 
       /> 
      } 
     /> 
    );   
}, 

renderLoadingView: function(){ 
    return(
     <View style={styles.container}> 
      <LoadingView /> 
     </View> 
    ) 
}, 

のようなものでしょうか?私はギブスで何かを見つけることができません。 何が問題になりますか?私はギブスで何かを見つけることができません。

こんにちは更新

。 rnplayでサンプルを作成していただきありがとうございます。しかし、私はRefreshControlListViewrender()の中に使用するときはいつも、問題の原因を絞り込んで、期待どおりに動作します。しかしListViewRefreshControlrenderlistView()のような他の機能から返すと、上記のエラーが発生します。私もthis.loadData().bind(this)を試してみましたが、それでもどちらも役に立ちません。

+0

これは3日前に修正されました。このgit commitを参照してください:https://github.com/facebook/react-native/commit/eac617d6ee74fb20cd69fdbc78a77ee07f5e6ba3 –

答えて

関連する問題