요즘 Next.js를 공부해보려고 한다.
예전에 React 강의를 조금 들은 적이 있어서 프레임워크의 아주 기본적인 개념은 어렴풋이 알고 있지만, JavaScript는 아직 초보다. 대신 HTML과 CSS는 꽤 익숙한 편이다.
그래서 내 목표는 “Next.js를 깊이 있게 마스터하는 것” 보다는,
우선 Next.js로 웹사이트 프론트엔드를 직접 만들 수 있는 수준까지 가는 것이다.
내 현재 상태
지금 나의 상태를 정리하면 이렇다.
- HTML / CSS는 능숙하다
- JavaScript는 초보다
- React는 아주 조금 접해봤다
- 프레임워크의 개념은 살짝 알고 있다
- 목표는 실제로 웹사이트를 구현할 수 있는 프론트엔드 개발 수준
이런 경우에는 처음부터 너무 어려운 개념을 한꺼번에 집어넣기보다,
필요한 만큼만 순서대로 배우는 방식이 훨씬 잘 맞다.
공부 목표
최종 목표는 아래처럼 잡는 게 가장 현실적이다.
디자인 시안이나 참고 사이트를 보고
Next.js로 반응형 웹사이트 프론트엔드를 구현할 수 있는 상태
좀 더 구체적으로 말하면,
- 여러 페이지를 만들 수 있고
- 공통 레이아웃을 구성할 수 있고
- 컴포넌트로 UI를 분리할 수 있고
- 더미 데이터나 간단한 API를 연결할 수 있고
- 로딩/에러 처리까지 기본적으로 할 수 있는 수준
여기까지 되면 “Next.js로 프론트엔드 웹사이트를 만든다”는 목표에는 충분히 도달한 것이다.
어떤 순서로 공부해야 할까
1. JavaScript를 React/Next.js에 필요한 만큼만 공부하기
지금 단계에서 중요한 건 JavaScript를 완벽하게 공부하는 게 아니다.
React와 Next.js 코드를 읽고, 수정하고, 직접 작성할 수 있을 정도로 익히는 게 목표다.
우선 꼭 익혀야 할 것들:
- 변수 (let, const)
- 함수
- 조건문
- 객체 / 배열
- 배열 메서드 (map, filter)
- 구조분해할당
- spread 문법
- import / export
- 비동기 처리 (async/await)
- fetch
특히 아래 3개는 정말 중요하다.
- map
- 객체 / 배열 다루기
- async/await
이건 React, Next.js에 들어가면 계속 보게 되는 기본기다.
이 단계에서 해보면 좋은 연습
- 카드 리스트 만들기
- 탭 UI 만들기
- 아코디언 만들기
- JSON 데이터로 목록 출력하기
2. React 핵심 개념 익히기
Next.js는 React 기반이라 React를 아예 모르고 들어가면 힘들다.
하지만 지금 내 목표상 React를 깊게 파는 것보다는 자주 쓰는 핵심 개념 위주로 익히면 된다.
우선 배워야 할 것:
- JSX
- 컴포넌트
- props
- state
- 이벤트 처리
- 조건부 렌더링
- 리스트 렌더링
- 입력값 처리
- useEffect 기초
이 단계에서 중요한 건
HTML을 그대로 길게 쓰는 방식에서, 컴포넌트 단위로 나누는 사고방식으로 바꾸는 것이다.
React 단계 실습 예시
- 좋아요 버튼
- 모달
- FAQ 아코디언
- 검색 필터
- 상품 리스트 UI
3. Next.js 입문하기
React 핵심을 어느 정도 익힌 뒤에는 Next.js로 넘어간다.
최신 기준으로는 App Router 중심으로 배우는 게 좋다.
이 단계에서 익혀야 할 것들:
- app/ 폴더 구조
- page.js
- layout.js
- 파일 기반 라우팅
- 공통 레이아웃
- Link
- 컴포넌트 분리
- Server Component / Client Component 개념
- "use client"가 필요한 상황
여기서 초보 입장에서 가장 중요한 감각은 이거다.
- 클릭, 입력, 탭 전환처럼 사용자 인터랙션이 있으면 Client Component
- 데이터 읽어서 화면만 그리는 용도면 Server Component부터 생각하기
처음에는 이 정도 감각만 있어도 충분하다.
4. 데이터 다루기
Next.js 공부가 어느 정도 되면,
정적인 화면만 만드는 단계에서 벗어나 데이터를 붙여봐야 한다.
처음엔 아주 간단하게 시작하면 된다.
- JSON 파일 import
- 더미 데이터 연결
- fetch()로 데이터 가져오기
- 로딩 상태 처리
- 에러 상태 처리
이 단계에서는 아직 아래 내용까지 무리해서 들어갈 필요는 없다.
- 데이터베이스 연결
- 인증
- 복잡한 캐싱
- 서버 액션 심화
- 상태관리 라이브러리
지금 목표는 프론트엔드 웹사이트 구현이기 때문에,
처음부터 백엔드 개념까지 다 끌어안지 않아도 된다.
5. 실제 웹사이트를 만들어보는 단계
결국 공부는 프로젝트를 해봐야 내 것이 된다.
개념만 계속 보면 “아는 것 같은데 못 만드는 상태”가 오래간다.
그래서 작은 사이트라도 직접 만들어보는 게 가장 중요하다.
프로젝트 1. 브랜드/회사 소개 사이트
구성 예시:
- 홈
- 소개
- 서비스
- 문의
이 프로젝트에서 배우는 것:
- 페이지 구성
- 공통 헤더/푸터
- 반응형 레이아웃
- 섹션 컴포넌트 분리
프로젝트 2. 콘텐츠 리스트 사이트
구성 예시:
- 목록 페이지
- 상세 페이지
- 카테고리 필터
이 프로젝트에서 배우는 것:
- 동적 라우팅
- 데이터 렌더링
- 카드 컴포넌트 재사용
프로젝트 3. 실무형 UI 구현
구성 예시:
- 상품 목록 + 상세
- 예약 페이지
- 대시보드 일부
- 관리자 화면 일부
이 프로젝트에서 배우는 것:
- 화면 구조 설계
- 컴포넌트 설계
- 유지보수 가능한 폴더 구조
- 실제 서비스형 UI 구현 감각
내게 맞는 공부 방식
내 경우에는 HTML/CSS가 강점이기 때문에
그 강점을 버릴 필요가 전혀 없다. 오히려 큰 장점이다.
그래서 가장 잘 맞는 공부 방식은 이거다.
개념 30%, 구현 70%
즉,
- 문법만 오래 보지 말고
- 작은 화면이라도 직접 만들고
- 정적인 HTML을 React 컴포넌트로 바꾸고
- 그걸 Next.js 페이지로 조립하는 식으로 가는 게 가장 효율적이다
공부할 때 기억할 흐름
Next.js 공부는 아래 흐름으로 이해하면 훨씬 쉽다.
- HTML로 화면 만든다
- 반복되는 UI를 컴포넌트로 분리한다
- props로 데이터 연결한다
- Next.js 페이지로 배치한다
- fetch나 더미 데이터로 내용을 붙인다
- 실제 사이트처럼 다듬고 배포한다
이 흐름이 잡히면
Next.js가 갑자기 어려운 기술처럼 느껴지지 않고,
“익숙한 퍼블리싱에서 한 단계 확장된 방식”으로 보이기 시작한다.
지금 단계에서 너무 욕심내지 않아도 되는 것
처음부터 아래 내용까지 다 하려고 하면 오히려 지친다.
- TypeScript 심화
- Redux / Zustand
- 테스트 코드
- 인증 시스템
- 서버 액션 심화
- SEO 심화
- 미들웨어
- 복잡한 캐싱 전략
이건 나중 단계에서 필요할 때 추가하면 된다.
지금은 프론트엔드 웹사이트 구현 능력을 먼저 만드는 게 더 중요하다.
8주 정도로 보면 이런 흐름
1~2주차
- JavaScript 기초
- 배열 / 객체
- map, filter
- async/await
- fetch
3주차
- React 기초
- 컴포넌트
- props / state
- 이벤트 처리
- 조건부 렌더링
- 리스트 렌더링
4주차
- React 미니 프로젝트
- 모달 / 탭 / 필터 UI
5주차
- Next.js 시작
- App Router 구조
- page.js, layout.js
- Link
- 컴포넌트 분리
6주차
- 정적 사이트 제작
- 공통 레이아웃
- 반응형 페이지 구성
7주차
- 데이터 연결
- 상세 페이지
- 로딩 / 에러 처리
8주차
- 실전 프로젝트 완성
- 배포
- 리팩토링
내가 앞으로 공부할 때 체크할 기준
잘 가고 있다는 신호
- HTML을 보면 어떤 컴포넌트로 나눌지 떠오른다
- 반복 UI를 props로 바꿀 수 있다
- 폴더 구조로 페이지를 만들 수 있다
- 더미 데이터로 먼저 화면을 만들 수 있다
- 콘솔 에러가 나와도 덜 겁난다
아직 더 익숙해져야 하는 신호
- map()이 아직 낯설다
- state가 왜 필요한지 흐릿하다
- Client / Server Component 구분이 어렵다
- 폴더 구조를 매번 감으로 만든다
결론
지금 내 상황에서 Next.js 공부는
“처음부터 완벽하게 이해하는 공부”보다
실제로 만들 수 있게 되는 공부가 더 중요하다.
내 강점은 HTML/CSS이고,
부족한 부분은 JavaScript와 React 기본기다.
그래서 가장 좋은 순서는 아래와 같다.
JavaScript 기초 → React 핵심 → Next.js App Router → 작은 프로젝트 → 실제 웹사이트 구현
결국 가장 중요한 건 이 한 문장으로 정리된다.
정적인 HTML을 React 컴포넌트로 바꾸고, 그걸 Next.js 페이지로 조립하는 힘을 기르는 것
이 방향으로 가면
초보자여도 충분히 Next.js로 웹사이트 프론트엔드를 만들 수 있는 수준까지 갈 수 있다.
'Web > react' 카테고리의 다른 글
| [Next.js] 초보의 관리자 페이지 만들기 시작기 (0) | 2026.04.28 |
|---|---|
| [Next.js] 프로젝트 시작하기 (0) | 2026.04.24 |
| [리액트] Hooks 알아보기 (0) | 2023.06.08 |
| [리액트] Redux Toolkit 사용해서 Counter 만들기 (0) | 2023.01.06 |
| [리액트] Redux (0) | 2023.01.06 |