Implemented infinite scroll

This commit is contained in:
Suraj Khayamali
2020-06-05 18:03:37 +05:45
committed by Vishnu Ks
parent 302806920c
commit 40d8e36880
3 changed files with 10012 additions and 3575 deletions

View File

@@ -1,18 +1,30 @@
import React from "react"
import React, { useState, useEffect } from "react"
import Layout from "../components/layout"
import SEO from "../components/seo"
import BookCard from "../components/bookcard"
function myFunction(data, end, setEnd) {
if (document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight) {
setEnd(end+4)
}
}
export default ({data}) => {
let [end, setEnd] = useState(4);
useEffect(()=>{
window.document.onscroll = () => myFunction(data, end, setEnd);
})
return (
<Layout>
<SEO title="Home" />
<div className="flex flex-row flex-wrap">
{data.allBooksJson.edges.map(function(x) {
return (
<BookCard book={x.node} key={x.node.id} />
)
{data.allBooksJson.edges.map(function(x, index) {
if(index<end){
return (
<BookCard book={x.node} key={x.node.id} />
)
}
})}
</div>
</Layout>