Cara mengemas kini fetch dan useLoaderData() menggunakan react-router
P粉883223328
2023-08-26 12:39:34
<p>Saya ingin mengemas kini data useLoaderData() selepas menyerahkan borang.
Dalam kes saya: </p>
<pre class="brush:php;toolbar:false;">eksport const countriesLoader = async () =>
const res = tunggu ambil("https://restcountries.com/v3.1/all/");
jika (!res.ok) {
throw Error("Tidak dapat mengakses data!");
}
return res.json();
};</pre>
<p><kod><Elemen indeks laluan={<CoutriesList />} loader={countriesLoader} /></code></p>
<p>Dalam elemen CountriesList: </p>
<p><kod>const country= useLoaderData();</code></p>
<p>Saya mahu mengemas kini negara dengan data baharu dalam useLoaderData(): </p>
<pre class="brush:php;toolbar:false;">const findCountry = async () =>
const res = tunggu ambil(
`https://restcountries.com/v3.1/name/${searchText}`
);
data const = res.json();
mengembalikan data;
};</pre>
<p>Jadi apabila saya menyerahkan, saya mahu data negaraLoader menjadi data findCountry. </p>
<p>Adakah terdapat sebarang penyelesaian? Terima kasih</p>
Saya rasa anda mungkin mahu menggunakan
findCountry
sebagai tindakan penghalaan semasa menyerahkan borang. Pemuat dijalankan pada kali pertama laluan dimuatkan. Satu tindakan boleh dijadualkan kemudian.Contoh asas: