A Next.js egy robusztus keretrendszer, amely lehetővé teszi a fejlesztők számára, hogy gyorsan kiszolgálóoldali React-alkalmazásokat készítsenek. Különféle alapvető tulajdonságokkal rendelkezik. Egyik legfontosabb jellemzője, hogy könnyen lekéri az adatokat, és könnyen elérhetővé teszi az összetevők számára.
Az adatlekérés alapvető funkció, amely lehetővé teszi a fejlesztők számára, hogy adatokat kérjenek le és jelenítsenek meg egy webhelyen/webalkalmazáson. A Next.js-ben többféleképpen is lekérheti az adatokat, mindegyiknek megvannak a maga előnyei és használati esetei. Ez a cikk a Next.js-ben található adatok lekérésének különböző módjait tárgyalja.
A useEffect Hook használata az adatok lekéréséhez
A useEffect horog egy A mellékhatások kiváltására használt reakciókampó, mint például az API-hívások az összetevőkben. A useEffect hook segítségével lekérheti az adatokat a Next.js fájlban.
Ez a hook olyan oldalaknál hasznos, amelyek dinamikus adatokat igényelnek, például olyan felhasználói profiloldalaknál, amelyek a bejelentkezett felhasználóra jellemző információkat jelenítenek meg.
A useEffect hook használatához először importálja azt a választott összetevőbe, lekéri az adatokat, és ennek segítségével jeleníti meg az oldalt.
Például:
import { useEffect, useState } tól től'reagál';
exportalapértelmezettfunkcióitthon() {
const [data, setData] = useState("");useEffect(() => {
fetch(' https://api.example.com/data');
.akkor( (válasz) => válasz.json() )
.akkor( (adat) => setData (adat) )
}, []);
Visszatérés (
{data.name}
</div>
)
}
Ez a kódblokk a useEffect hook segítségével kéri le az adatokat egy API-ból. Az If két paramétert ad át a useEffect hook-nak: egy függvényt az adatok lekéréséhez és egy függőségi tömböt. Sikerre használ setData() hogy frissítse az összetevő állapotát a lekérési kérelem által visszaadott adatokkal.
A useEffect hook-nak átadott függőségi tömbnek tartalmaznia kell azt az értéket, amelytől az effekt függ. A komponens csak akkor futtatja újra az effektust, ha a függőségi tömb értéke megváltozik. Ha a függőségi tömb üres – mint ebben a példában –, a hatás csak az első renderelésen fut le.
Automatikus újraérvényesítés kezelése SWR használatával
A SWR A (stale-while-revalidate) könyvtár egy React hook-könyvtár az adatok lekérésének kezelésére. Neked muszáj állítsa be az SWR könyvtárat először, hogy a Következő alkalmazásban használja.
Az SWR-könyvtár egyik legfontosabb jellemzője az adatok újraellenőrzésének automatizálása. Ez a funkció elengedhetetlen, ha az adatok gyakran frissülnek, és folyamatosan naprakésznek kell lennie. Ez a funkció biztosítja, hogy az alkalmazás mindig hozzáférjen a legfrissebb adatokhoz, így dinamikusabb és érzékenyebb lesz a felhasználók számára.
Az SWR-könyvtár új lekérési kérelmet küld egy API-nak, amikor a felhasználó újra egy oldalra fókuszál, vagy vált a lapok között. Amikor a felhasználó elhagyja az oldalt, a képernyőn megjelenő adatok elavulttá válnak. Amikor visszatérnek az oldalra, az SWR könyvtár új lekérési kérelmet küld az API-nak, és összehasonlítja az új adatokat az elavult adatokkal, hogy megállapítsa, változtak-e.
Ha meg szeretné akadályozni, hogy az SWR könyvtár végrehajtsa ezt a műveletet, használja a revalidateOnFocus választási lehetőség.
Például így:
const { data, error, isloading } = useSWR(' https://api.example.com/data', fetcher, {
revalidateOnFocus: hamis,
})
A revalidateOnFocus tulajdonság false értékre állítása biztosítja, hogy az SWR-könyvtár ne érvényesítse újra az adatokat minden alkalommal, amikor újra az oldalra fókuszál.
Az SWR könyvtár az adatokat is újraellenőrzi, amikor a felhasználó újra csatlakozik az internethez. Ez a művelet bizonyos helyzetekben nagyon hasznos lehet, és automatikusan működik.
A művelet letiltásához használhatja a revalidateOnReconnect választási lehetőség:
const { data, error, isloading } = useSWR(' https://api.example.com/data', fetcher, {
revalidateOnReconnect: hamis,
})
Az adatok automatikus újraellenőrzésének letiltásához állítsa a revalidateOnFocus és a revalidateOnRecconect tulajdonságokat is false értékre.
Az Isomorphic-Unfetch Library használata letöltési kérések végrehajtására
A izomorf-unfetch A könyvtár egy kicsi, könnyű könyvtár, amely lekérési kéréseket tud végrehajtani a Next.js alkalmazásokban. A könyvtár kiváló alternatívája a bennszülötteknek elhozni API. Használata egyszerű, így tökéletes azoknak a fejlesztőknek, akik még nem tudnak lekérési kéréseket készíteni.
Az isomorphic-unfetch polifillként használható olyan régebbi böngészőkhöz, amelyek nem támogatják a natív lekérési API-t. Az isomorphic-unfetch könyvtár minimalista és alkalmas kis alkalmazásokhoz.
Az isomorphic-unfetch használatához egy Next.js alkalmazásban, telepítse a könyvtárat a következő parancs futtatásával:
npm install isomorphic-unfetch
Ezután importálhatja a könyvtárat, és felhasználhatja az összetevőben adatok lekérésére, például:
import Fetch tól től"izomorf-unfetch"
import {useState, useEffect} tól től'reagál'exportalapértelmezettfunkcióitthon() {
const [data, setData] = useState(nulla)useEffect(() => {
Fetch(' https://api.example.com/data')
.akkor( (válasz) => válasz.json)
.akkor( (adat) => setData (adat) )
}, [])
ha (!adat) Visszatérés<div>Betöltés...div>
Visszatérés (
{data.name}</h1>
</div>
)
}
Az isomorphic-unfetch funkció a kliens és a szerver oldalon is működik.
Hatékony adatlekérés a Next.js segítségével
Az adatok lekérése fontos funkció az alkalmazások fejlesztése során. A Next.js számos módot kínál az adatok lekérésére, amelyek mindegyikének megvannak a maga előnyei és kompromisszumai.
Amikor kiválasztja a használni kívánt módszert, vegye figyelembe a kompromisszumokat, és győződjön meg arról, hogy olyan technikát használ, amely kényelmes.