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

home2 게시판 React 게시판 lifesycle 질문있습니다.

lifesycle 질문있습니다.

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

    22
    참가자
    강의를 리액트에서 라이프사이클 까지 듣고 있는데요. 
          <Route path="/detail" element={<Detail/>}/><-이걸 실행하면 detail/12345에서 오류나고
       <Route path="/detail/:id" element={<Detail shoes={shoes} />} /><-이걸 실행하면 detail에서 오류나는데 
    왜그런건가요? 어떻게 고쳐야 하나요?
    
    app.jsx
    
    import { Button,Navbar,Container,Nav } from 'react-bootstrap';
    import { useState } from 'react'
    import Row from 'react-bootstrap/Row';
    import Col from 'react-bootstrap/Col';
    import reactLogo from './assets/react.svg'
    import viteLogo from '/vite.svg'
    import './App.css'
    import data from './data.js';
    import { BrowserRouter as Router, Routes, Route, Link,useNavigate,Outlet  } from 'react-router-dom';
    import { use } from 'react';
    import Detail from './routes/Detail.jsx';
    function App() {
      const [count, setCount] = useState(0)
      let [shoes] =useState(data)
      let navigate=useNavigate();
      
      return (
        <>
     
        <Button variant="primary">Primary</Button>
              <Navbar bg="dark" data-bs-theme="dark" >
            <Container>
              <Navbar.Brand href="#home">Navbar</Navbar.Brand>
              <Nav className="me-auto">
                <Nav.Link href="#home">Home</Nav.Link>
                <Nav.Link onClick={()=>navigate('./')}>Features</Nav.Link>
                <Nav.Link onClick={()=>navigate('/detail')}>detail</Nav.Link>
              </Nav>
            </Container>
          <Link to="/">홈</Link>
          <Link to="/detail">디테일</Link>
          <div className='main-bg'>
           
    </div>
          </Navbar>
     
          <Routes>
          <Route path="/" element={<div>
            <>
            <Container>
          <Row>
            {
            shoes.map(function(a,i){
              return(
                <Card shoes={shoes[i]} i={i+1}>/</Card>
            )
            })}
            <Col sm>쥬탬므</Col>
            <Col sm>치킨</Col>
          </Row>
        </Container>
            </>
          </div>}/>
          
          <Route path="/detail" element={<Detail/>}/>
          {/* <Route path="/detail/:id" element={<Detail shoes={shoes} />} /> */}
          <Route path="*" element={<div>없는페이지에요.</div>}>
          </Route>
     
            
            
      
          </Routes>
          <br />
         
        </>
      )
    }
    function Card(props){
      return(
      <div className="col-md-4">
      < img src={'https://codingapple1.github.io/shop/shoes'+props.i+'.jpg'} width="80%" />
      <h4>{ props.shoes.title }</h4>
      <p>{ props.shoes.price }</p>
    </div>
    )
    }
     
    export default App
    Detail.jsx
    
    import{useEffect, useState} from "react";
    import { useParams } from "react-router-dom";
    function Detail(props){
        let{id}=useParams();
        let 찾은상품=props.shoes.find(function(x){
            return x.id==parseInt(id)
        
        })
        let [Alert,setAlert]=useState(true)
        useEffect(()=>{
            let a= setTimeout(() => {
                setAlert(false)
            }, 100000);
            return()=>{clearTimeout(a)}
        },[])
        return(
            <div>
                {
                    alert==ture?<div>초이내구매시할인</div>:setAlert=false
                }
            </div>
        );
        // console.log(id);
        return(
            <div className="col-md-4">
            < img src={'https://codingapple1.github.io/shop/shoes'+props.i+'.jpg'} width="80%" />
            <h4>{ props.shoes[id].title }</h4>
            <p>{ props.shoes[id].price }</p>
          </div>
          )
    }
    export default Detail;
    • 이 게시글은 22에 의해 4 월, 3 주 전에 수정됐습니다.
    #135880

    codingapple
    키 마스터
    <Route path="/detail" 페이지만 만들어놨으면 /detail/어쩌구 페이지는 없으니 뭐라하고
    <Route path="/detail/:id" 페이지만 만들어놨으면 /detail 페이지는 없으니 뭐라하는 것일 뿐입니다 
    둘다 만들어놔도 될듯요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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