useParams 가 동작하지 않습니다.
811
작성자 없음
0 asked
안녕하세요.
useParams 으로 파라미터 값을 보낸 뒤,
console.log() 로 값을 출력해 보고 싶은데요.
자꾸 undefined 만 출력 됩니다.
대체 이유가 뭘까요??? ㅠㅠㅠㅠㅠㅠ
// App.js
import './App.css';
import { Routes, Route } from 'react-router-dom';
import Navbar from './components/Navbar';
import routes from './routes';
function App() {
return (
<div>
<Navbar></Navbar>
<div className='container mt-3'>
<Routes>
{routes.map((item, i) => {
return (
<Route
path={item.path}
element={item.component()}
key={i}
></Route>
);
})}
</Routes>
</div>
</div>
);
}
export default App;
// routes.js
import HomePage from './pages/HomePage';
import ListPage from './pages/ListPage';
import CreatePage from './pages/CreatePage';
import EditPage from './pages/EditPage';
import ShowPage from './pages/ShowPage';
const routes = [
{
path: '/',
component: HomePage,
},
{
path: '/blog',
component: ListPage,
},
{
path: '/blog/create',
component: CreatePage,
},
{
path: '/blog/edit',
component: EditPage,
},
{
path: '/blog/:id',
component: ShowPage,
},
];
export default routes;// ShowPage.js
import { useParams } from 'react-router-dom';
const ShowPage = () => {
let { id } = useParams();
console.log(id); // undefined 출력
return <div>Show Pages</div>;
};
export default ShowPage;
Answer 2
0
이게 저는 리액트 라우터 버전이 5이고 강민정님께서는 버전 6을 사용하셔서 발생하는 이슈네요
리액트 라우터 5에서 6으로 올라가면서 약간 변화가 있는데 <Router /> 안에 속성으로 component 대신 element가 들어가는데요
routes.js 파일을 아래처럼 바꿔주세요
// routes.js
import HomePage from './pages/HomePage';
import ListPage from './pages/ListPage';
import CreatePage from './pages/CreatePage';
import EditPage from './pages/EditPage';
import ShowPage from './pages/ShowPage';
const routes = [
{
path: '/',
component: <HomePage />,
},
{
path: '/blog',
component: <ListPage />,
},
{
path: '/blog/create',
component: <CreatePage />,
},
{
path: '/blog/edit',
component: <EditPage />,
},
{
path: '/blog/:id',
component: <ShowPage />,
},
];
export default routes;82강에서 리액트 라우터 5에서 6으로 업그레이드를 설명하고 있으니 참고해주세요 ^^
안되거나 다른 질문 있으시면 댓글로 남겨주세요
0
github에 올려서 링크 올려주시면 확인 해보겠습니다
UserEffect 빈 배열 사용 질문입니다
0
131
2
Pagination 페이지 별 데이터 불러오기 오류
0
247
1
설명이 부족 한 듯..
0
292
1
pagination nav가 안보여요
0
212
1
블로그 낫 파운드 ㅠㅠ
0
241
1
return (<div></div>)
0
426
2
useState 에 대해
0
212
1
에러떠요..
0
525
2
useCallback 의존성 배열
0
366
1
인자가 필수로 들어가야 하는지 궁금합니다
0
393
1
AxiosError: Network Error가 뜹니다
0
11282
3
리액트 설치하려고 하니 에러가 뜹니다
0
299
1
23강 localhost 질문드립니다!!
0
587
5
renderBlogList 함수는 순수함수가 아니어도 괜찮은가요?
0
283
1
페이지네이션 버그 있습니다.
0
398
1
글 삭제 기능 구현 방법
0
311
1
react-router-dom 버전 업그레이드에 따른 문제
0
408
1
state가 업데이트되는 기준이 궁금합니다.
0
300
1
id가 두번 찍혀요
0
263
2
error handling 2 => ShowPage.js, BlogForm.js에서 에러가 납니다.
0
458
2
에러 핸들링에서 토스트가 2개씩 뜹니다..
0
434
2
36 블로그 db에서 받아와서 화면에 보여주기 에서
0
265
1
13번째 DB에 저장을 따라하고 있습니다.
0
405
2
toastSlice를 store에등록할 때 질문있습니다.
0
253
1

