Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- dart 변수
- react typescript
- ngrok설치
- getModifierState
- next.js css
- react env
- ngrok실행
- 컨디셔널 렌더링
- input type=file
- github
- fetch
- API 토큰
- Git
- typescript react
- rewrites
- nextjs 설치
- bootstrap
- npm styled-reset
- react
- styled components
- nextjs .env
- git lab
- icon
- CSS
- SCSS
- github io
- createGlobalStyle
- nextjs
- There isn’t anything to compare
- API token
Archives
- Today
- Total
꾸준히 성장하는 개발자
React-Router-Dom v6 되며 바뀐 점 정리 본문
엥 인강 보면서 React-Router-Dom을 공부하고 있는데 선생님이랑 똑같이 하는데 난 실행이 안된다....
왜 안되지 하며 구글링 시작
버전이 달라서 안 되는 거라고 한다.
1. Route는 Routes 로 감싸주기 switch -> Routes 로 바뀌었다.
2. component는 element로 바뀐다.
<Route path="/" component={Home} /> → <Route path="/" element={<Home />} />
로 바뀌었다.
3. exact가 기본으로 되어 exact 는 이제 사용 안 한다고 한다.
서브 경로가 필요한 경우 path에 * 사용한다.
이 정도만 바꿔줬는데 오 이제 실행된다.
또 주의해야 하는 것들이 있으면 더 추가로 정리해야겠다.
하 이번엔 : id 가 말썽 ,,,
4. :id path 이용하기 - useParams
const id = props.match.params.id; 이렇게 id 값을 가져오려 했는데 안된다.
import { useParams } from "react-router";
const { id } = useParams(); 이렇게 넣어주니 실행된다.
5. URLSearchParams
const searchParams = props.location.search; 이렇게 불러오려니 또 실패
아래와 같이 변경하였다.
import { useLocation } from "react-router";
const { searchParams } = useLocation();
위 방법으로는 안되는 브라우저등이 있어 실행이 안될 경우가 있는데
그럴 경우 아래 query-string을 이용하여 나타낼 수 있다.
6. NavLink에 activeStyle, activeClassName 사라졌다.
활용방법은 다시 한번더 봐야 할듯
7. useRouterMatch() -> useMatch() 로 바뀌었다
useMatch() 는
현재 위치를 기준으로 지정된 경로에 대한 일치 데이터를 반환해준다.
그래서 만약 내가 선택한 url에 들어가 있다면 object가 반환되고 없다면 null 값이 반환된다.
import { useMatch} from "react-router-dom";
const priceMatch = useMatch("/:coinId/price");
console.log(priceMatch);
'React' 카테고리의 다른 글
[react] react-shadow (0) | 2022.02.09 |
---|---|
[react] styled-component 정리하기 (1) | 2022.02.08 |
react의 라우팅 (0) | 2022.01.24 |
husky , lint-staged (0) | 2022.01.23 |
Prettier (0) | 2022.01.22 |