useNavigate 사용방법

navigatestate를 넘길 수 있음
넘긴 stateuseLocation으로 받으면 된다.
navigatereplace:true를 같이 사용해주면 이력을 없애줌

navigatelink의 차이점
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

ReactSPA이기 때문에 처음 앱을 불로오는 시간이 오래걸림
이러한 단점을 보안하기위해 파일 자체를 분할하는게 중요
가장 기본적인방법은 dynamic import

Reactlazysuspense로 이를 구현함

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

+ Recent posts