data.json ファイルにアクセスできず、新しいカード/コンポーネントのフィルタリングを実行できないという問題が発生しました。
P粉032977207
P粉032977207 2023-08-16 19:28:38
0
1
494

それで、前のページから ID を取得するようにページを設定しました。画像 4 をクリックすると、URL (/Food/4) などが表示されます。したがって、前のページから正しい情報を得ることができました。ここで私が抱えている問題は、fetchを使用してdata.jsonファイルを取得し、jsonから情報を取得し、IDに基づいてページに情報をレンダリングすることです。したがって、画像 4 をクリックして新しいページに ID を渡すと、json ファイルから画像 4 のデータを表示したいと考えます。いくつかの異なるフェッチ設定、さらには axios 設定を試しましたが、完全に迷っています。 useParams を実装する必要がありますか? params.id?ありがとう!

import React, { useState, useEffect } from 'react' import { Link, useParams } from 'react-router-dom' 「./data.json」からデータをインポートします デフォルト関数 Foodinfo() をエクスポート { const params = useParams() const [アイテム, setItem] = useState(); useEffect(() => { fetch('/data.json') .then(response =>response.json()) .then(data => console.log(data)); }) 戻る ( 

食事情報

<「/」へのリンク> <ボタン>メニュー
) }
P粉032977207
P粉032977207

全員に返信 (1)
P粉020085599

フィルタリングのために data.json にアクセスする

URL 経由で渡されたidに基づいて、JSON ファイルから項目をロードしたいようです。

data.jsonファイルをコンポーネントに直接インポートしたため、fetchまたはaxiosを使用してリクエストする必要はありません。これはコンポーネント内に変数dataとしてすでに存在します。したがって、URL から取得したidパラメーターに基づいてデータをフィルターし、関連オブジェクトを使用してitemステータスを設定できます。

これは、問題を解決するためにFoodinfoコンポーネントを更新する方法です:

  1. useParamsを使用して、URL からidを取得するだけです。
  2. params.id文字列型であり、JSON ファイルのデータであるため、idを整数として解析します。 IDとしての番号。
  3. データ配列
  4. idと同じitemを見つけます。setItem
  5. 関数を使用して、この
  6. itemを項目の状態に設定します。最後に、コンポーネント内でプロジェクト情報をレンダリングします。
  7. 調整されたコード:

リーリー
いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!