⊗jsrxPmRDPP 21 of 57 menu

Reduxでの製品ページ

このレッスンでは、特定の製品情報を表示するための 個別ページを作成します。

製品アプリを開き、productsフォルダ内に ファイルProductPage.jsxを作成します。 覚えている通り、各製品は一意のIDを持っています。 このIDのおかげで、各製品のページに対して一意のURLを 生成することができます。 従来、それは/products/id123のようになります。 IDはその動的な部分に含まれます(ルーティング自体は 少し後で扱います)。

では、ProductPage.jsx内に空の コンポーネントProductPageを作成しましょう:

export const ProductPage = () => {}

ここで最初に行うことは、フックuseParamsを 使用して、現在いる製品ページのURLの動的な部分を 抽出することです:

export const ProductPage = () => { let params = useParams() const { productId } = params }

次に、取得したidを使って、既知のフック useSelectorを使用してstore内の productsスライスから必要な製品を 検索します:

const product = useSelector((state) => state.products.find((product) => product.id === productId) )

両方のフックをファイルにインポートすることを 忘れないでください:

import { useSelector } from 'react-redux' import { useParams } from 'react-router-dom'

もし必要な製品が見つからない場合 (例えば、ユーザーが不正なアドレスを入力した場合)、 その情報を画面に表示します。 この段階で、コンポーネントProductPageの コードは次のようになるはずです:

export const ProductPage = () => { let params = useParams() const { productId } = params const product = useSelector((state) => state.products.find((product) => product.id === productId) ) if (!product) { return <p>そのような製品はありません</p> } }

そして、取得した製品データをマークアップ内に 表示するだけです:

return ( <div> <h2>{product.name}</h2> <p>説明: {product.desc}</p> <p>価格: {product.price}</p> <p>数量:{product.amount}</p> </div> )

学生アプリを開いてください。 studentsフォルダ内にファイル StudentPage.jsxを作成し、 選択した学生の情報を取得して表示します。

react-reduxのフックuseSelectorを 使用して、レッスンで示したように必要な 学生情報を取得してください。

コンポーネント内で、取得した学生情報を 画面に表示してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否