-
-
Save samuelayo/62bd5bebb84c651fd95a17c971c45f55 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React, { Component } from "react"; | |
import logo from "./logo.svg"; | |
import "./App.css"; | |
import InfiniteScroll from "react-infinite-scroller"; | |
class Scroll2 extends Component { | |
constructor(props) { | |
super(props); | |
this.state = { | |
items: 20, | |
hasMoreItems: true | |
}; | |
} | |
showItems() { | |
var items = []; | |
for (var i = 0; i < this.state.items; i++) { | |
items.push(<li key={i}> Item {i} </li>); | |
} | |
return items; | |
} | |
loadMore() { | |
if(this.state.items===200){ | |
this.setState({ hasMoreItems: false}); | |
}else{ | |
setTimeout(() => { | |
this.setState({ items: this.state.items + 20}); | |
}, 2000); | |
} | |
} | |
render() { | |
return ( | |
<div className="App"> | |
<header className="App-header"> | |
<img src={logo} className="App-logo" alt="logo" /> | |
<h1 className="App-title"> Welcome to React </h1>{" "} | |
</header> | |
<div style={{height:'200px', overflow:'auto'}}> | |
<InfiniteScroll | |
loadMore={this.loadMore.bind(this)} | |
hasMore={this.state.hasMoreItems} | |
loader={<div className="loader"> Loading... </div>} | |
useWindow={false} | |
> | |
{this.showItems()}{" "} | |
</InfiniteScroll>{" "} | |
</div>{" "} | |
</div> | |
); | |
} | |
} | |
export default Scroll2; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment