Skip to content

Instantly share code, notes, and snippets.

@samuelayo
Created January 29, 2018 16:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samuelayo/62bd5bebb84c651fd95a17c971c45f55 to your computer and use it in GitHub Desktop.
Save samuelayo/62bd5bebb84c651fd95a17c971c45f55 to your computer and use it in GitHub Desktop.
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