} />
// 컴포넌트에서 사용
import { useParams } from 'react-router-dom';
function UserProfile() {
const { userId } = useParams();
return
User ID: {userId}
;
}
```
### 주요 사용 사례
- 블로그 포스트: `/post/:postId`
- 상품 상세: `/product/:productId`
- 다중 파라미터: `/category/:categoryId/product/:productId`
- 사용자 대시보드: `/dashboard/:userId/settings`
### 참고 자료
- [React Router 공식 문서](https://reactrouter.com/start/library/routing)
- [FreeCodeCamp - Dynamic Segments](https://www.freecodecamp.org/news/use-dynamic-segments-in-react-router/)
---
## 2. 네트워크 속도가 느린 환경에서의 UX 개선
### UI/UX 디자인 전략
**스켈레톤 스크린**
- 빈 화면 대신 콘텐츠 윤곽 표시
- 체감 로딩 속도 개선
**점진적 로딩**
- 중요한 콘텐츠 우선 표시
- 부가 콘텐츠는 지연 로드
**명확한 피드백**
- 로딩 상태 표시
- 진행률 바 또는 메시지 제공
**오프라인 지원**
- Service Worker 활용
- 캐시된 데이터로 기본 기능 제공
### 기술적 최적화 방법
">
} />
// 컴포넌트에서 사용
import { useParams } from 'react-router-dom';
function UserProfile() {
const { userId } = useParams();
return
User ID: {userId}
;
}
```
### 주요 사용 사례
- 블로그 포스트: `/post/:postId`
- 상품 상세: `/product/:productId`
- 다중 파라미터: `/category/:categoryId/product/:productId`
- 사용자 대시보드: `/dashboard/:userId/settings`
### 참고 자료
- [React Router 공식 문서](https://reactrouter.com/start/library/routing)
- [FreeCodeCamp - Dynamic Segments](https://www.freecodecamp.org/news/use-dynamic-segments-in-react-router/)
---
## 2. 네트워크 속도가 느린 환경에서의 UX 개선
### UI/UX 디자인 전략
**스켈레톤 스크린**
- 빈 화면 대신 콘텐츠 윤곽 표시
- 체감 로딩 속도 개선
**점진적 로딩**
- 중요한 콘텐츠 우선 표시
- 부가 콘텐츠는 지연 로드
**명확한 피드백**
- 로딩 상태 표시
- 진행률 바 또는 메시지 제공
**오프라인 지원**
- Service Worker 활용
- 캐시된 데이터로 기본 기능 제공
### 기술적 최적화 방법
">
} />
// 컴포넌트에서 사용
import { useParams } from 'react-router-dom';
function UserProfile() {
const { userId } = useParams();
return
User ID: {userId}
;
}
```
### 주요 사용 사례
- 블로그 포스트: `/post/:postId`
- 상품 상세: `/product/:productId`
- 다중 파라미터: `/category/:categoryId/product/:productId`
- 사용자 대시보드: `/dashboard/:userId/settings`
### 참고 자료
- [React Router 공식 문서](https://reactrouter.com/start/library/routing)
- [FreeCodeCamp - Dynamic Segments](https://www.freecodecamp.org/news/use-dynamic-segments-in-react-router/)
---
## 2. 네트워크 속도가 느린 환경에서의 UX 개선
### UI/UX 디자인 전략
**스켈레톤 스크린**
- 빈 화면 대신 콘텐츠 윤곽 표시
- 체감 로딩 속도 개선
**점진적 로딩**
- 중요한 콘텐츠 우선 표시
- 부가 콘텐츠는 지연 로드
**명확한 피드백**
- 로딩 상태 표시
- 진행률 바 또는 메시지 제공
**오프라인 지원**
- Service Worker 활용
- 캐시된 데이터로 기본 기능 제공
### 기술적 최적화 방법
">
# React 기술 질문 답변
## 1. React Router의 동적 라우팅(Dynamic Routing)
### 정의
- URL의 특정 부분을 변수처럼 사용하여 하나의 라우트로 여러 페이지 처리
- `:` 기호로 동적 세그먼트 정의
### 기본 사용법
```jsx
// 라우트 정의
<Route path="/user/:userId" element={<UserProfile />} />
// 컴포넌트에서 사용
import { useParams } from 'react-router-dom';
function UserProfile() {
const { userId } = useParams();
return <div>User ID: {userId}</div>;
}