反応ルーターを使用して fetch と useLoaderData() を更新する方法
P粉883223328
P粉883223328 2023-08-26 12:39:34
0
1
472
<p>フォーム送信後にuseLoaderData()のデータを更新したいのですが。 私の場合: </p> <pre class="brush:php;toolbar:false;">export const countryLoader = async () => { const res = await fetch("https://restcountries.com/v3.1/all/"); if (!res.ok) { throw Error("データにアクセスできません!"); } res.json() を返します。 };</pre> <p><code><ルートインデックス要素={<CoutriesList />} ローダー={countriesLoader} /></code></p> <p>CountriesList 要素内: </p> <p><code>const country= useLoaderData();</code></p> <p>useLoaderData() の新しいデータで国を更新したい: </p> <pre class="brush:php;toolbar:false;">const find Country = async () => { const res = await fetch( `https://restcountries.com/v3.1/name/${searchText}` ); const データ = res.json(); データを返す。 };</pre> <p>なので、submitするときはcountrysLoaderのデータがfind Countryのデータになるようにしたいのです。 </p> <p>解決策はありますか?ありがとうございます</p>
P粉883223328
P粉883223328

全員に返信(1)
P粉373990857

フォームを送信するときにルーティング アクションとして findcountry を使用するとよいと思います。ローダーは、ルートが初めてロードされるときに実行されます。アクションは後でスケジュールできます。

基本的な例:

リーリー リーリー リーリー リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート