Solved: lazy loading pagination react

Sige, narito ang impormasyong hiniling mo.

Tamad na naglo-load ng pagination ay isang makabagong diskarte sa web development, sikat sa kahusayan at kaugnayan nito sa paghawak ng malalaking data set. Ang diskarte na ito ay nagbibigay-daan sa iyong React na application na mahusay na mag-load at magpakita ng malaking dami ng data sa pamamagitan lamang ng pagkuha at pag-render ng isang partikular na bahagi na nakikita ng user — kadalasang tinutukoy bilang isang pahina. Lubos nitong pinapaliit ang oras ng pag-load ng iyong app, na nagbibigay ng mas magandang karanasan ng user.

Ang diskarteng ito ay lubos na kapaki-pakinabang sa kasalukuyang digital na panahon, kung saan ang mga user ay nangangailangan ng mga real-time na tugon at mas mahusay na karanasan ng user. Kabilang sa mga pangunahing bentahe ang mas mataas na performance ng app, nabawasan ang pag-load ng server, at mahusay na paggamit ng memory. ReactJS ay may maraming mga aklatan na sumusuporta tamad na paglo-load at pagination, na ginagawang mas maayos ang proseso ng pagbuo.

//dependencies
import React, { useState, useEffect } from 'react';
import axios from 'axios';

function App() {
  const [data, setData] = useState([]);
  const [page, setPage] = useState(1);

	useEffect(() => {
		const fetch_data = async () => {
			const res= await axios.get('https://api.demo.com/data?page=${page}');
			setData(oldData => [...oldData, ...res.data]);
		};
		fetch_data();
	}, [page]);
  
  // then, you can add scroll listener - when the user reaches the end of the page, increment the page by 1.
	return (
		<div className="App" onScroll={(e) => handleScroll(e)}>
			{your code here}
		</div>
	);
}

export default App;

Pag-unawa sa Code

Ang code ay nagpapakita ng simpleng pagpapatupad ng lazy loading pagination sa React. Tinitiyak ng useEffect hook na kapag nag-mount ang component, isang HTTP na kahilingan ang ginawa sa server upang kunin ang data. Kinakailangan ang 'pahina' bilang dependency. Tinutukoy ng status ng page ang tipak ng data na kukunin mula sa server, na epektibong lumilikha ng sistema ng pagination.

Pinagsasama ng setData function ang nakaraang data sa bagong nakuhang data. Tinitiyak nito na umiiral pa rin ang nakaraang data habang nagdaragdag ng bagong data, na nagpapanatili ng tuluy-tuloy na karanasan sa pag-scroll.

Ang pagbilang ng pahina na sinamahan ng tamad na pag-load ay kumukuha lamang ng bagong data kung kinakailangan, na lubos na nagpapahusay sa pagganap. Ito ay partikular na naglalaro kapag nakikitungo sa malalaking halaga ng data.

Mga Sikat na Aklatan para sa Lazy Loading Pagination

Mayroong ilang mga library na magagamit na maaaring mapagaan ang pagpapatupad ng lazy loading at pagination sa iyong mga application ng React:

  • React Infinite Scroll Component: Ito ay isang sikat na npm package para sa pagpapatupad ng walang katapusang scroll sa React.
  • React Virtualized: Ito ay isang hanay ng mga bahagi ng React para sa mahusay na pag-render ng malalaking listahan, tabular na data at higit pa. Kabilang dito ang isang bahagi para sa mahusay na paghawak ng walang katapusang paglo-load.
  • React Window: Isa pang library para sa pag-render ng malalaking listahan o tabular na data nang mas mahusay. Ito ay mas maliit at mas mabilis kumpara sa React Virtualized, na may halos katulad na API.

Ang pagsasama ng lazy loading pagination ay nagpapabuti sa scalability ng iyong application at ang karanasan ng user. Habang patuloy na nagbabago ang mga uso sa user interface, mahalagang manatiling up-to-date sa mga modernong diskarte tulad ng lazy loading at pagination. Palaging tandaan, ang pinakalayunin ay magbigay sa mga user ng mabilis, mahusay, at kasiya-siyang karanasan.

Kaugnay na mga post:

Mag-iwan ng komento