React를 사용한 클라이언트 쪽 페이지 매김
12050 단어 reactpaginationbeginnersjavascript
애플리케이션에서 더 많은 콘텐츠를 보기 위해 애플리케이션 사용자가 지루한 스크롤링 경험을 겪게 할 필요가 없습니다. 더 많은 콘텐츠를 표시하는 데 도움이 되는 다음 또는 이전 버튼이 있으면 좋지 않을까요? 충분히 이야기하고 코드로 들어가 봅시다.
이 튜토리얼에서는 create-react-app으로 프로젝트를 설정하는 방법을 이미 알고 있다고 가정합니다.
가장 먼저 할 일은 구성 요소를 만들고 약 50명의 사용자가 표시되도록 자리 표시자에 가입하라는 요청을 만드는 것입니다. 여기에 코드가 있습니다.
import React from "react";
const Posts
= () => {
const [posts, setPosts]=useState([])
useEffect(()=>{
fetch('https://jsonplaceholder.typicode.com/posts?_limit=50')
.then(res => res.json())
.then(data=>{
setPosts(data)
})
})
return (
<div className='body'>
<h2 style={{textAlign:'center', marginBottom:'20px'}} >Paginations</h2>
{posts.map((post)=>(
<div key={post.id} style={{marginBottom:'20px'}} >
<h2>{post.title} </h2>
<p>{post.body} </p>
</div>
))}
</div>
);
};
페이지 매김이 없는 모습입니다.
...
다음으로 이전 및 다음 버튼에 대한 페이지 매김 및 논리를 돕기 위해 몇 가지 상수를 만듭니다. 상수는 다음과 같습니다.
그것은 코드에서 다음과 같이 보일 것입니다
const Posts = () => {
const [posts, setPosts]=useState([])
const [pageNumber, setPageNumber]= useState(1)
const [postNumber]= useState(5)
const currentPageNumber = (pageNumber * postNumber) - postNumber
const paginatedPosts = posts.splice(currentPageNumber, postNumber)
const handlePrev =()=>{
if(pageNumber === 1) return
setPageNumber(pageNumber - 1)
}
const handleNext =()=>{
setPageNumber(pageNumber + 1)
}
useEffect(()=>{
fetch('https://jsonplaceholder.typicode.com/posts?_limit=50')
.then(res => res.json())
.then(data=>{
setPosts(data)
})
})
return (
<div>
<h2>Posts</h2>
{paginatedPosts.map((post)=>(
<div key={post.id}>
<h2>{post.title} </h2>
<p>{post.body} </p>
</div>
))}
<div>Page {pageNumber} </div>
<div>
<button onClick={handlePrev} >prev</button>
<button onClick={handleNext}>next</button>
</div>
</div>
);
};
그리고 이제 우리는 이것을 가지고 있습니다 👇
이것이 React를 사용한 간단한 페이지 매김입니다. 이것은 저의 첫 번째 기사이며 React 및 Javascript에 대해 더 많이 작성할 것입니다.
React 또는 Javascript에 대해 어려움을 겪고 있는 것이 있습니까? [email protected] 으로 메일을 보내시면 됩니다.
제가 할 수 있다면 최선을 다해 도와드리겠습니다. 건배 ❤❤
Reference
이 문제에 관하여(React를 사용한 클라이언트 쪽 페이지 매김), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/1stmuse/client-side-pagination-with-react-300j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)