⊗jsrtPmRtULD 31 of 47 menu

React Router에서 로더로 얻은 데이터 사용하기

지난 강의에서 loader를 사용하여 저장소에서 데이터를 가져왔습니다. 이 데이터를 사용하기 위해, useLoaderData 훅을 사용합니다. root.jsx 파일을 열고 훅을 임포트에 추가해 보겠습니다:

import { Outlet, Link, useLoaderData } from 'react-router-dom';

이제 Root 함수에서 데이터를 products 상수로 받아서 이를 사용할 것입니다. 제품이 있으면 목록이 표시되고, 없으면 단락에 'no products here ...'를 출력합니다. nav 태그 안에서 이제 가져온 제품들을 출력하기 위한 표준 루프를 사용합니다. 각 항목은 Link 컴포넌트로 감싸지고 각자 자신의 주소를 가집니다 (이에 대해서는 나중에 이야기하겠습니다). 따라서 제품에 이름이 없으면 기본값으로 'Unnamed'가 출력됩니다. 그렇다면, 위에서 말한 내용을 고려하여, 이제 Root 함수의 코드는 다음과 같을 것입니다:

function Root() { const { products } = useLoaderData(); return ( <div id="main"> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Unnamed</i>} </Link> ))} </nav> ) : ( <p><i>no products here ...</i></p> )} <div id="product"> <Outlet /> </div> </div> ); }

지금 애플리케이션을 재시작하고 메인 페이지로 이동하면 'no products here ...'만 보일 것입니다. 아직 저장소에 어떤 제품도 넣지 않았기 때문입니다.

이전 강의의 과제에서 만든 애플리케이션을 가져오세요. 강의 자료를 활용하여, 강의에서 설명한 대로 로더에서 얻은 학생 데이터를 표시하도록 추가하세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부