일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 자바
- 머신러닝 강좌
- acmicpc.net
- 효묘블로그
- 머신러닝
- 파이썬강의
- c언어 오목
- 비용함수
- JAVA강좌
- 딥러닝공부
- python강좌
- C언어
- unsupervised learning
- 파이썬강좌
- 백준 알고리즘
- 비지도학습
- java
- Gradient Descent
- 머신러닝공부
- supervised learning
- 자바강좌
- 딥러닝
- 선형회귀
- 지도학습
- 인공지능
- 머신러닝 강의
- Python강의
- 경사하강법
- feature scaling
- 자바시작하기
Archives
- Today
- Total
컴공과컴맹효묘의블로그
[Typescript]react-router-dom-v6사용 useParams useLocation 본문
반응형
typescript에서의 react-router-dom
기존 코드
react-router-dom@5
버전이다.
<BrowserRouter>
<Switch>
<Route exact path='/' component={Home} />
<Route path='/login' component={Login} />
<Route component={NotFound} />
</Switch>
</BrowserRouter>
Typescript 코드
react-router-dom@6
를 설치한다.
npm install react-router-dom
<BrowserRouter>
<Routes>
<Route path='/' element={<Home />} />
<Route path='/login' element={<Login />} />
<Route element={<NotFound />} />
</Routes>
</BrowserRouter>
파라미터와 쿼리: Params
Pramas는 **useParams**
Hook을 사용한다.
// ----------- App.tsx ------------
<Route path=':id' element={<User />} />
// ----------- User.tsx -----------
const User: React.FC = () => {
const { id } = useParams();
return(
<>
{/* your code*/}
</>
)
}
// ...
**useLocation**
을 사용하여 pathname을 받아올 수도 있다.
const { pathname } = useLocation();
useLocation
객체에는 query 정보를 가지고 있는 search
가 있다.
const User: React.FC = () => {
const location = useLocation();
return( <div>{location.search}</div> );
}
/*
https://localhost:3000/?username=yoonki
location.search === '?username=yoonki';
*/
파라미터와 쿼리: Query
**qs**
라이브러리를 사용하면 string의 쿼리를 객체로 바꿔준다.
npm install qs
import qs from 'qs';
// ...
const location = useLocation();
const query = qs.parse(location.search, {
ignoreQueryPrefix: true
})
query.username === 'yoonki1207'
// 쿼리의 파싱값은 문자열이다.
// ...
v6이상은 useSearchParams를 사용하면 라이브러리 없이 사용도 가능하다.
import { useSearchParams } from 'react-router-dom';
const [searchParams] = useSearchParams();
const detail = searchParams.get('detail') === 'true';
반응형
'개발' 카테고리의 다른 글
React에서의 window event listener 주의점. (0) | 2022.09.18 |
---|---|
Tailwind 설정하기 (0) | 2022.06.19 |
Comments