https://charactermail.tistory.com/758
1. useNavigate()
웹페이지 현제 path에서 특정 웹 path로 이동하기 위한 기능으로 보임.
AS-IS
TO-BE
from "react" 기능들 정리
import {Suspense, lazy } from "react"; 로 태그했지만, Suspense는 <>로 쓰고, lazy()는 함수처럼 호출하네.. 규칙이 있을까?
react-router-dom에 useNavigate랑 Navigate가 있는데 차이가 뭘까? 함수로 쓰냐 꺽새로 쓰냐 <> 차이인가?
1. <Suspencse>
2. lazy()
=> 웹 애플리케이션을 개발하다 보면 데이터 로딩 속도로 문제 생기는 경우가 발생한다.
이런 상황에서 React Suspense를 활용하면 데이터 로딩 상태를 보다 세련되게 처리하고, 사용자에게 더 나은 경험을 제공할 수 있다.
React Suspense는 컴포넌트의 렌더링을 일시 중지하고 데이터 로딩을 기다릴 수 있게 해주는 React의 기능이다.
React 16.6부터 도입된 기능으로, 컴포넌트가 렌더링 되기 전에 데이터 로딩을 기다릴 수 있게 해준다.
Suspense의 핵심 개념으로는 'lazy'와 'fallback'이 있다.
lazy는 동적 임포트를 통해 컴포넌트를 필요한 시점에 로딩하는 기능이다.
이를 통해 초기 번들 크기를 줄이고 초기 로딩 속도를 개선할 수 있다.
fallback을 통한 로딩 UI 제공
fallback은 컴포넌트가 로딩 중일 때 보여줄 'UI를 설정하는 prop'이다.
fallback으로는 로딩 스피너, 스켈레톤 UI 등을 활용할 수 있다.
이를 통해 사용자에게 콘텐츠가 로딩 중임을 알리고, 현재 애플리케이션이 멈춘 게 아니라 원활하게 동작하고 있음을 인식시킬 수 있다.
https://www.elancer.co.kr/blog/view?seq=267
--------------------
2. useParams()
리액트에서 라우터 사용 시 파라미터 정보를 가져와 활용하고 싶다면 useParams 이라는 훅을 사용하면 된다.
라우터를 사용하고 있다는 가정 하에 아래처럼 사용하면 된다.
번외로 파라미터가 아닌 현재 페이지의 Pathname을 가져오려면 useLocation()을 사용해야 한다.
ex : URL/user/1 - user는 pathname, 1은 parameter
ex : http://localhost:3001/survey/abc123/3
3. useLocation()
현재 페이지의 pathname을 가져오려면 useLocation을 사용해야 한다.
ex : URL/user/1 - user는 pathname, 1은 parameter
4. BrowserRouter
브라우저 라우터는 라우터에 대한 환경 설정이라고 생각하면 된다.
5. Routes
https://charactermail.tistory.com/758
6. Route
https://charactermail.tistory.com/758
7. Link
https://charactermail.tistory.com/758
댓글