Által Mária Gathoni

Hozzon létre egy felhasználóbarát alkalmazást a lekérdezési paraméterek kihasználásával.

Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

A lekérdezési paraméterek név/érték párok, amelyeket hozzáadhat egy URL végéhez. Lehetővé teszik az adatok tárolását az adott URL-ben.

A lekérdezési paraméterek egyik gyakorlati alkalmazása a felhasználó kereséséből származó értékek tárolása.

A React Router használata a lekérdezési paraméterek frissítéséhez

Amikor a felhasználó beír egy lekérdezést a keresősávba, el kell mentenie a lekérdezést az URL-ben. Például, ha egy felhasználó a blogok listájában a „react” kategóriába tartozó bejegyzésekre keresett, a frissített URL-nek így kell kinéznie: /posts? tag=react.

A React biztosítja a useSearchParams hookot, amely segít olvasni vagy frissíteni a lekérdezési karakterláncokat.

A kezdéshez hozzon létre egy keresősávot az App.js fájlban.

instagram viewer
import { useState } tól től"reagál";
exportalapértelmezettfunkcióApp() {
const [query, setquery] = useState('')
const HandChange = (e) => {
setquery(e.cél.érték)
};
Visszatérés (
<div>
<formaszerep="keresés">
<bemenetonChange={handleChange}érték={lekérdezés}típus="keresés" />
forma>
div>
);
}

Ne felejtse el követni bevált gyakorlatok a React használata során hogy a legtöbbet hozza ki belőlük.

Ezután telepítse a React útválasztót, és adja hozzá az útválasztást az alkalmazáshoz. Ez elengedhetetlen a useSearchParams hook működéséhez.

import Reagál tól től"reagál";
import ReactDOM tól től"react-dom/kliens";
import"./index.css";
import App tól től"./App";
import { BrowserRouter, Route, Routes } tól től"react-router-dom";

const root = ReactDOM.createRoot(dokumentum.getElementById("gyökér"));
gyökér.Vakol(
<Reagál. StrictMode>
<BrowserRouter>
<Útvonalak>
"/" elem={} />
Útvonalak>
BrowserRouter>
Reagál. StrictMode>
);

Most már elmentheti a lekérdezéseket az URL-ben, ahogy a felhasználó gépel, a handleChange() függvény módosításával.

import { useState } tól től"reagál";
import { useSearchParams } tól től"react-router-dom";

exportalapértelmezettfunkcióApp() {
const [query, setquery] = useState("");
const [searchParams, setSearchParams] = useSearchParams({});

const HandChange = (e) => {
setSearchParams({ lekérdezés: e.target.value });
setquery(e.cél.érték);
};
Visszatérés (
<div>
<formaszerep="keresés">
<bemenetonChange={handleChange}érték={lekérdezés}típus="keresés" />
forma>
div>
);
}

A lekérdezési értékek lekérése az URL-ből

Egyetlen lekérdezési értéket kaphat a searchParams.get() használatával és a lekérdezési paraméter nevének átadásával.

const [searchParams, setSearchParams] = useSearchParams({});
const érték = searchParams.get('címke')

Az összes lekérdezési paraméter lekéréséhez használja a searchParams.entries() parancsot.

const [searchParams, setSearchParams] = useSearchParams({});
const értékek = searchParams.entries()

Ez a metódus egy iterátort ad vissza, amelyet kulcs/érték párok segítségével iterálhat.

számára (const [kulcs érték] nak,-nek értékek) {
konzol.log(`${key}, ${value}`);
}

A kulcs/érték párok abban a sorrendben vannak, ahogyan az URL-ben megjelennek.

Használjon lekérdezési paramétereket a keresési eredmények megoszthatóságának javítására

A useSearchParams hook kiválóan alkalmas keresési értékek vagy bármilyen más adat tárolására lekérdezési paraméterként egy URL-ben.

A useState hook segítségével is nyomon követheti a keresési értékeket, de ha lekérdezési paraméterben tárolja őket, akkor az emberek megoszthatják azokat az URL-en keresztül.

Iratkozzon fel hírlevelünkre

Hozzászólások

Ossza megCsipogOssza megOssza megOssza meg
Másolat
Email
Ossza meg
Ossza megCsipogOssza megOssza megOssza meg
Másolat
Email

Link a vágólapra másolva

Kapcsolódó témák

  • Programozás
  • Programozás
  • Reagál
  • Webfejlesztés
  • JavaScript

A szerzőről

Mária Gathoni (70 cikk megjelent)

Mary a nairobi székhelyű MUO munkatársa. Alkalmazott fizikából és számítástechnikából szerzett B.Sc fokozatot, de jobban szeret műszaki területen dolgozni. 2020 óta foglalkozik kódolással és műszaki cikkek írásával.