title: FlatList does not scrolls down but retracts back to top
body: <p>After scrolling, flatlist goes back to the top. Any obvious reason this might be happening because of my code?</p>
  
  <p><strong>react-native-cli:</strong> 2.0.1</p>
  
  <p><strong>react-native:</strong> 0.57.4</p>
  
  <p><strong>FlatList Code</strong></p>
  
  <pre><code>return (
              &lt;View style={{ flex: 1}}&gt;
                      &lt;FlatList
                          data={this.state.dataSource}
                          onEndReached = {() =&gt; this.getDeals()}
                          ListHeaderComponent = {() =&gt; &lt;MainAdvertisement/&gt;}
                          onEndReachedThreshold={1}
                          renderItem={this._renderItem}
                          ListFooterComponent={()=&gt;((this.state.loading || this.state.loading=="")&amp;&amp;!this.state.gotAllDeals) ? &lt;ActivityIndicator size="small" color="gray"/&gt; : null}
                          keyExtractor={(item, index) =&gt; item._id}
                      /&gt;
              &lt;/View&gt;
  );
  </code></pre>
  
  <p><strong>getDeals()</strong>
  This is the function called when end of Flatlist is reached.</p>
  
  <pre><code>    getDeals = () =&gt; {
      this.setState({
          loading: true,
      });
      let url = this.state.url;
      let offsetEncoded = encodeURIComponent(this.state.offset);
      url=url+"offSet="+offsetEncoded+"&amp;&amp;filters="+JSON.stringify(this.props.filters);
      console.log(url);
      fetch(url)
      .then((res)=&gt;{
          if (!res.ok) {
              throw Error(res.statusText);
          }
          return res;
      })
      .then((res) =&gt; res.json())
      .then((responseJson) =&gt; {
          if(responseJson.length==0){
              this.setState({
                  gotAllDeals:true,
                  loading:false
              })
          }
          else{
              this.setState({
                  loading: false,
                  dataSource: this.state.offset==0 ? responseJson : [...this.state.dataSource, ...responseJson],
                  offset: this.state.offset + responseJson.length,  
                  dealList_ErrorStatus: false              
              });
          }
      })
      .catch((err) =&gt; {
          this.setState({
              dealList_ErrorStatus: true,
              loading:false
          })
          console.log("Error: "+err);
      });
  }
  </code></pre>
  
  <p><a href="https://drive.google.com/file/d/1ld-REqQLgRggM7Ni2DXfrMhIr48S5VeF/view?usp=sharing" rel="nofollow noreferrer">ScreenRecording</a></p>