• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 Link 를 써서 상품을 클릭하면 /detail/숫자 페이지로 이동?

Link 를 써서 상품을 클릭하면 /detail/숫자 페이지로 이동?

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 글쓴이
  • #32875

    박준영
    참가자

    라우트 상세보기 페이지 100개 강의를 듣고 /detail/:id 등을 이용해 주소창에 /detail/1, /detail/2, ... 를 수동으로 입력하면 페이지가 나타나게 만들었습니다.

    근데 이제 <Card></Card>의 상품 이름이나 사진 등을 클릭하여 각 상품의 상세보기 페이지가 나타나게 하고 싶은데 <Link to=" ... " ></Link> 문법에서 detail/숫자 의 숫자 변수 문법을 어떻게 작성해야할까요?

     

    시도1. 

    function Card 함수에서 평범하게 props 변수 받아오듯 Link to=" ... " 안에 props. 문법작성.

    <Link to="/detail/{props.product.id}" >상세보기</Link> 

    >>>>>>> 실패. to=" ... " 안의 스트링이라 변수명으로서 작동 안하는듯?

     

    시도2. 

    a 태그 이용해서 비슷하게 작성시도,

    <a href="/detail/{props.product.id} ... 

    >> 마찬가지로 실패

     

    시도3. 

    map(a,i) 코드 부분에서,

    <Card></Card>를 <Link to 로 감싸보기.

    <Link to="/detail/{i}"><Card> ... </Card><Link>

    >> 실패

     

    반복문처럼 /detail/{숫자} 가 알아서 바뀌길 바라는데 어떻게 해야할까요... 너무 멍청해서 검색을 어떤 키워드로 해야할지도 모르고 아무 시도나 막 해봤는데 역시나 잘 안되네요.

     

    #32895

    codingapple
    키 마스터

    그럴 땐 그냥 navigate() 쓰는게 편합니다 

    #32903

    박준영
    참가자

    /detail 뒤의 map(a,i) 반복문의 숫자 변수 i 같은걸 어떻게 받아오나요? 검색해보니 $ 붙여서 문자열을 쓰는 것도 같은데 정확한 방법을 모르겠네요.

    onClick={() => {
    props._navigate('/detail/${props.key}')
    }}

    ???

    onClick={() => {
    props._navigate('/detail/{props.key}')
    }}

    ???

    onClick={() => {
    props._navigate('/detail/' + {props.key})
    }}

    ???

     

    이렇게 시도했는데 전부 안되네요

    #32911

    박준영
    참가자

    해결했습니다.

    { } 없이 쓰고, props 로 key={i} 가 아닌 _i={i} 를 가져오니 되네요.

    props._navigate('/detail/' + props._i)

    #32920

    codingapple
    키 마스터

    자식컴포넌트에서 useNavigate() 쓰면 props.navigate로 전송해줄 필요 없습니다

5 글 보임 - 1 에서 5 까지 (총 5 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠