-
글쓴이글
-
2021년 12월 9일 22:08 #21649
코딩초보참가자App.js 에서 <Route exact path='/' > </Route> 같이 라우트들만 보이고 그 해당하는 코드는 다른 파일에 넣고 임폴트가 하고 싶은데
App.js에 import Homepage from './HomePage/Homepage'; 를 추가하고 <Route exact path='/' > <Homepage /> </Route> 를 하면 Homepage가 로딩이 되지 않습니다. 인터넷 서칭으로는 예전 class extend component 방식으로<Route exact path='/' component={HomePage}></Route> 방법밖에 안보이던데 다른 방법이 있나요?
2021년 12월 9일 22:23 #21651
코딩초보참가자App.js 코드
import logo from './logo.svg';
import './App.css';
import Navbar from './Navbar/Navbar';
import React, { useContext, useState } from 'react';
import Homepage from './Homepage.js'; <<<<<< 홈페이지 임폴트
import Data from './data.js'
import Detail from './Detail.js'
import { Link, Route, Switch, useHistory } from 'react-router-dom'
import Cart from './Cart.js'let 재고context = React.createContext();
function App() {
let [shoes, shoes변경] = useState(Data);
let [재고, 재고변경] = useState([10, 11, 12]);return (
<div className="App">
<Navbar />
<Switch><Route exact path='/' > <Homepage /> </Route> <<<<<<<<<<< 홈페이지
<Route path='/detail/:id'>
<Detail shoes={shoes} 재고={재고} 재고변경={재고변경} />
</Route><Route path='/cart'>
<Cart></Cart>
</Route><Route path="/:id">
<div>해당 페이지에 아무런 정보도 없습니다.</div>
</Route></Switch>
</div>
);
}function Card(props) {
let 재고 = useContext(재고context);
let history = useHistory();return (
<div className="col-md-4" onClick={() => { history.push('/detail/' + props.shoes.id) }}>
<h4>{props.shoes.title}</h4>
<p>{props.shoes.content} & {props.shoes.price}</p><Test></Test>
</div>
)
}function Test() {
let 재고 = useContext(재고context);
return <p>재고 : {재고}</p>
}export default App;
-
글쓴이글
- 답변은 로그인 후 가능합니다.