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

home2 게시판 React 게시판 url파라미터로 상세페이지 만들기에서 질문 2개요

url파라미터로 상세페이지 만들기에서 질문 2개요

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

    병아리짹짹
    참가자
    1. url파라미터가 문자인경우 다른페이지로 이동시키려고 parseInt(id) != NaN 일때만 실행시키고 else로 나머지 경우는 다른 페이지로 가게 해 봤는데 오류가 나는데 이유를 모르겠습니다 어떻게 해야 할까요
    구체적인 코딩은 아래와 같습니다
    
    function Feature (props){
      let {id} = useParams()
      
      if(parseInt(id) != NaN){
        return(
          <div className="container">
            <div className="row">
              <div className="col-md-6">
                < img src={"https://codingapple1.github.io/shop/shoes"+(parseInt(id)+1)+".jpg"} width="100%" />
              </div>
              <div className="col-md-6">
                <h4 className="pt-5">{props.shoes[id].title}</h4>
                <p>{props.shoes[id].content}</p>
                <p>{props.shoes[id].price}원</p>
                <button className="btn btn-danger">주문하기</button>
              </div>
            </div>
          </div>
        )
      } else {return(
          <div className="col-md-6">
            < img src="https://www.pngall.com/wp-content/uploads/13/Red-X-PNG-Picture.png" width="100%" />
            <h4 className="pt-5">잘못된 주소입니다</h4>
          </div>
        )}
    }
    
    2. 응용문제쪽에서 정렬버튼을 만든 후 상세페이지 이동시 정렬된 데이터가 나오는 것이 아니라 원본데이터가 나옵니다
    정렬 버튼 누르면 Grey Yordan부터 나오는 것까지는 확인했는데 거기서 /detail/0 하면 도로 White and Black이 나옵니다
    이유과 개선 사항을 알고 싶습니다. 구체적인 코딩은 아래와 같습니다. detail.js는 위와 같습니다
    
    
    function App() {
      let [shoes,정렬] = useState(data)
    
    (중략)
    
    <Button variant="primary" onClick={()=>{
                let newshoes = [...shoes]
                newshoes.sort((a,b)=>{if(a.title>b.title){return(1)}else{return(-1)}})
                정렬(shoes=newshoes)
               
              }}>정렬</Button>
    
    
     
    #98496

    codingapple
    키 마스터
    NaN인지 여부는 isNaN() 사용해서 비교합시다 
    함수파라미터에 자리에 등호를 넣진 않습니다 newShoes만 넣읍시다
    #98499

    병아리짹짹
    참가자
    1번 질문은 해결되었습니다
    2번 질문에서는 /0가면 정렬된 데이터가 아니라 여전히 원본 데이터가 나옵니다..
    #98546

    codingapple
    키 마스터
    브라우저 새로고침하면 원래 state도 리셋됩니다
    navigate()로 페이지 이동합시다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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