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 |
Tags
- 공부할 거 넘많다~
- TS
- git flow finish
- 서버 컴포넌트
- api 라우트
- 힘들었던 한주
- 클라이언트 컴포넌트
- 차이점
- javascript30
- freecodecamp
- 바닐라JS
- 백준
- axios
- 실무는 공식문서로
- HTML
- jQuery
- js
- CSS
- git flow start
- Mac
- Main
- Next.js
- 끝까지 잘 마무리하기
- 다시 홧팅
- fetch pull 차이
- 개발일지
- 책으론 원리만
- AJAX
- git
- JavaScript
Archives
- Today
- Total
다다의 개발일지 6v6
[개발일지] 3월 2주차 - 회사 내 전 프로젝트 web 코드 분석 & 발표 본문
3/10 (월) ^^,,,
- next.js 서버컴포넌트, 클라이언트 컴포넌트 차이 공부 -> api 호출, strict mode 적용 이런것 차이
- prefetch
- 새로고침을 안하고 다른 창으로 들어가면 네트워크 로그가 계속 이어지는 것, 새로고침하면 로그가 초기화되는 것
- react query , swr, contextAPI, redux
3/11 (화) - 현재 회사 프론트코드 분석한 것 발표!
- useLayoutEffect가 뭐지? (O)
더보기더보기`useLayoutEffect`는 `useEffect`와 비슷하지만 실행 시점이 다른 React 훅이다
브라우저 화면 그리기 전에 동기적으로 실행
useLayoutEffect(() => {
// 여기 코드가 먼저 실행
});
브라우저 화면 그린 후에 비동기적으로 실행
useEffect(() => {
// 여기 코드가 나중에 실행
});
```
- `useEffect`:
- 비동기적 실행
- 화면 렌더링 후 실행
- 대부분의 경우 이걸 사용
- `useLayoutEffect`:
- 동기적 실행
- 화면 렌더링 전 실행
- UI가 깜빡이는 것을 방지할 때 사용
- DOM 측정/수정이 필요할 때 사용 - 클라이언트 컴포넌트 인데도 서버에서 /_rsc 요청이 실행되는 이유 (O)
더보기
더보기
클라이언트 컴포넌트 안에 서버 컴포넌트가 import 되어 있어도 문제가 발생함.
-> useEffect, useState 사용하는데 서버 컴포넌트인 컴포넌트를 발견함.
서버 컴포넌트에서 useEffect를 사용하면 문제가 발생할 수 있다.
서버 컴포넌트에서 useEffect 사용 시 발생하는 문제
1. 서버 컴포넌트는 브라우저에서 실행되지 않음
- 서버 컴포넌트는 Next.js 서버에서 실행되므로,
클라이언트에서만 동작하는 React Hook(useEffect, useState 등)은 사용할 수 없다. - 예를 들어, page.tsx가 서버 컴포넌트라면 여기에 useEffect를 써도 실행되지 않음.
// 🚨 서버 컴포넌트에서는 `useEffect`가 실행되지 않음
export default function ServerComponent() {
useEffect(() => {
console.log("이거 실행될까?");
}, []);
return <div>서버 컴포넌트</div>;
}
➡ Next.js 서버에서 실행되기 때문에 useEffect가 동작하지 않음!
✅ 2. 서버 컴포넌트에서 useEffect를 사용하면 Next.js가 클라이언트에서 다시 실행할 수도 있음
만약 서버 컴포넌트가 처음 실행된 후, 클라이언트에서 다시 실행될 경우
불필요한 API 호출이나 /_rsc 요청이 발생할 가능성이 커요.
export default function ServerComponent() {
useEffect(() => {
console.log("클라이언트에서 실행됨!");
}, []);
return <div>서버에서 실행된 후, 클라이언트에서 다시 실행될 수 있음</div>;
}
➡ 서버에서 한 번 실행된 후, 클라이언트에서 다시 실행되면서 React의 "Hydration Mismatch" 오류가 발생할 수도 있음.
3/ 13 (목)
- access token, refresh token 비교해서 알아두기.
- useMutation 글 정리하기
임시 저장 글이 엄청 쌓여있다~~,, ㅎ 언제 다 정리하지!
'다다's DevLog > 2025 - 신입 웹 개발자' 카테고리의 다른 글
| [개발일지] 지나온 시간들과 앞으로의 계획 ( 11월 1일 ) (0) | 2025.11.01 |
|---|---|
| [개발일지] 6월 3주차 ( 6.16 ~ 6.20 ) - 힘든 주간이었지만,, 생일 주엔 일찍 퇴근!! (4) | 2025.06.19 |
| [개발일지] 3월 4주차 ( 3/ 24 ~ 28 ) - 라이브러리에 두들겨 맞고 지피티 결제 갑니다... (0) | 2025.04.02 |
| [개발일지] 3월 3주차 ( 3.17~21 ) - 새로운 프로젝트 시작!! web 프론트 전담,, (1) | 2025.03.22 |
| [개발일지] 25년 3월 1주차 - 첫 출근 🥳!! 로컬 환경 셋팅 ( back + front ) (3) | 2025.03.05 |