useNavigate 사용방법
navigate
도 state
를 넘길 수 있음
넘긴 state
는 useLocation
으로 받으면 된다.navigate
에 replace:true
를 같이 사용해주면 이력을 없애줌
navigate
와 link
의 차이점navigate
는 함수 안에서 쓸 수 있음
1.
import { useNavigate } from 'react-router-dom'
2.
const navigate = useNavigate()
3.
<button onClick={()=>navigate("경로", {state: {data: '데이터넘김'} })}>경로로 가기</button>
<button onClick={()=>navigate(-1, {replace:true})}>뒤로 가기</button>
NavLink 사용방법
1.
import { NavLink } from 'react-router-dom'
2.
<NavLink
style={ ({isActive}) => ({color: isActive ? "lime" : "salmon"}) }>
</NavLink>
NavLink
는 기본적으로 isActive
라는 props를 가지고 있음
Lazy Loading
React
는 SPA
이기 때문에 처음 앱을 불로오는 시간이 오래걸림
이러한 단점을 보안하기위해 파일 자체를 분할하는게 중요
가장 기본적인방법은 dynamic import
React
는 lazy
와suspense
로 이를 구현함
Lazy Loading사용방법
1.
import { lazy, Suspense } from 'react';
2.
const lazy원하는곳 = lazy( () => import("lazy할경로"))
3.
//아직 컴포넌트가 불러와지기전에 유저(사용자)에게 fallback에 있는 정보를 보여줌
<Route path="/" element={<Suspense fallback={<div>Loading...</div>}><lazy원하는곳 /></Suspense>} />
'프론트엔드 > React' 카테고리의 다른 글
Redux (0) | 2022.08.16 |
---|---|
React router dom v6 (리액트 라우터 버전6) (0) | 2022.08.09 |