본문 바로가기

추천 검색어

실시간 인기 검색어

코딩 자율학습 리액트 프런트엔드 개발 입문

리액트 19와 타입스크립트로 배우는 실무 중심 프런트엔드 개발 자습서
코딩 자율학습
김기수 지음
길벗

2025년 09월 01일 출간

국내도서 : 2025년 09월 01일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 ePUB (55.53MB)   |  약 53.2만 자
ISBN 9791140715756
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

소득공제
소장
정가 : 33,600원

쿠폰적용가 30,240

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

최신 리액트 19와 타입스크립트를 기반으로, 기초 개념부터 실무 패턴까지 한 번에 익힐 수 있도록 구성한 리액트 입문서입니다. JSX, 컴포넌트 구조, props와 state, 이벤트 처리 등 기본기를 탄탄히 다지고, 상태 관리, 스타일링, 라우팅, 폼 처리, 비동기 데이터 통신 등 실무 필수 기술을 체계적으로 학습할 수 있습니다. 변화가 빠른 프런트엔드 생태계에서도 자신 있게 적응할 수 있는 실력을 길러줍니다.
1장 리액트 시작하기
1.1 리액트 개요
1.1.1 리액트의 핵심 철학
1.1.2 리액트의 특징
1.1.3 리액트를 배워야 하는 이유
1.1.4 리액트의 발전
1.2 개발 환경 설정하기
1.2.1 Node.js 설치
1.2.2 VSCode 설치
1.2.3 VSCode 익스텐션 설치
1.2.4 웹 브라우저 설치
1.3 리액트 애플리케이션 만들기
1.3.1 Vite로 프로젝트 생성하기
1.3.2 불필요한 폴더와 파일 삭제 및 수정하기
1.3.3 기본 구조 살펴보기

2장 JSX 개요
2.1 JSX란
2.2 JSX의 문법적 특징
2.2.1 하나의 루트 요소로 반환하기
2.2.2 모든 태그 닫기
2.2.3 태그 속성은 카멜 케이스로 작성하기
2.2.4 표현식은 중괄호 안에서 사용하기
2.2.5 인라인 스타일은 객체로 지정하기
2.2.6 중괄호 안에 주석 작성하기

3장 컴포넌트
3.1 컴포넌트란
3.2 컴포넌트의 종류
3.2.1 클래스 컴포넌트
3.2.2 함수형 컴포넌트
3.2.3 클래스 컴포넌트와 함수형 컴포넌트 사용
3.3 컴포넌트 기초
3.3.1 컴포넌트 확장자
3.3.2 컴포넌트 정의
3.3.3 컴포넌트 추가
3.3.4 컴포넌트 트리
3.4 컴포넌트와 props 객체
3.4.1 props 객체란
3.4.2 props 객체 타입 알아내기
3.4.3 props 객체의 구조 분해 할당과 타입 정의
3.4.4 props와 전개 연산자
3.4.5 children
3.5 컴포넌트와 이벤트
3.5.1 이벤트 속성
3.5.2 이벤트 핸들러
3.5.3 이벤트 객체
3.5.4 이벤트 전파

4장 컴포넌트 상태
4.1 컴포넌트의 상태란
4.2 useState 훅: 기본 상태 관리
4.2.1 useState 훅의 기본 문법
4.2.2 useState 훅 사용하기
4.2.3 useState 훅 여러 번 사용하기
4.2.4 useState 훅 사용 시 주의사항
4.3 useReducer 훅: 복잡한 상태 관리
4.3.1 useReducer 훅 기본 문법
4.3.2 useReducer 훅 사용하기
4.3.3 useReducer 훅 여러 번 사용하기
4.4 상태 관리 패턴
4.4.1 상태 전달하기
4.4.2 상태 끌어올리기
4.5 개발자 도구로 상태 값 확인하기

5장 컴포넌트 스타일링
5.1 전통적인 방법으로 스타일링하기
5.1.1 인라인 스타일
5.1.2 글로벌 스타일
5.1.3 CSS 모듈
5.1.4 classnames 라이브러리
5.2 CSS-in-JS로 스타일링하기
5.2.1 styled-components
5.2.2 emotion
5.2.3 vanilla-extract
5.3 Tailwind CSS로 스타일링하기
5.3.1 설치 및 기본 사용법
5.3.2 tailwlind-merge 라이브러리
5.4 이미지 렌더링하기
5.4.1 이미지 리소스 준비하기
5.4.2 public 폴더에서 이미지 렌더링하기
5.4.3 src 폴더에서 이미지 렌더링하기
5.5 폰트 적용하기
5.5.1 구글 폰트 적용하기
5.5.2 @font-face로 웹 폰트 적용하기

6장 실습: 계산기 만들기
6.1 실습 내용 소개
6.2 리액트 애플리케이션의 기본 구조 설정하기
6.2.1 프로젝트 생성하기
6.2.2 불필요한 폴더와 파일 정리하기
6.3 UI 구성하기
6.3.1 HTML 작성하기
6.3.2 CSS 작성하기
6.4 데이터 바인딩하고 이벤트 연결하기
6.4.1 데이터와 이벤트 핸들러 정의하기
6.4.2 이벤트 핸들러 정의하고 연결하기
6.5 로직 구현하기
6.5.1 숫자 입력 로직 구현하기
6.5.2 연산 로직 구현하기
6.5.3 초기화 로직 구현하기
6.5.4 소수점 로직 구현하기
6.5.5 예외 처리하기

7장 조건부 렌더링과 반복 렌더링
7.1 조건부 렌더링
7.1.1 if 문을 사용한 조건부 렌더링
7.1.2 삼항 연산자를 사용한 조건부 렌더링
7.1.3 AND 연산자를 사용한 조건부 렌더링
7.2 반복 렌더링
7.2.1 반복 렌더링의 기본 개념 이해하기
7.2.2 map() 메서드 사용하기
7.2.3 그 밖의 사용법

8장 폼 다루기
8.1 폼 정의하기
8.2 폼 제어하기
8.2.1 제어 컴포넌트
8.2.2 비제어 컴포넌트
8.3 폼 제어 한 단계 더 나아가기
8.3.1 useRef 훅 활용하기
8.3.2 커스텀 훅 사용하기
8.3.3 커스텀 훅 심화
8.4 폼 밸리데이션
8.4.1 기본 밸리데이션 사용하기
8.4.2 커스텀 밸리데이션 로직 추가하기
8.4.3 라이브러리 사용하기
8.5 리액트 19에서 ref 변경 사항
8.5.1 ref 객체의 컴포넌트 전달 방식
8.5.2 클린업 함수

9장 실습: 할 일 관리 애플리케이션 만들기
9.1 실습 내용 소개
9.2 UI 구성하기
9.2.1 기본 구조 설정하기
9.2.2 HTML 작성하기
9.2.3 CSS 작성하기
9.3 컴포넌트 분리하기
9.3.1 복잡한 〈svg〉 요소 컴포넌트로 분리하기
9.3.2 버튼 요소 컴포넌트로 분리하기
9.3.3 텍스트 입력 요소 컴포넌트로 분리하기
9.3.4 체크박스 요소 컴포넌트로 분리하기
9.3.5 레이아웃 요소 컴포넌트로 분리하기
9.4 기능 구현하기
9.4.1 할 일 목록 입력받기
9.4.2 할 일 목록 출력하기
9.4.3 할 일 완료 처리하기
9.4.4 할 일 삭제하기
9.4.5 할 일 수정하기

10장 고유 아이디와 사이드 이펙트
10.1 useId 훅
10.2 useEffect 훅
10.2.1 컴포넌트의 생명주기
10.2.2 useEffect 훅 사례
10.3 할 일 관리 애플리케이션 개선하기
10.3.1 폼 요소 연결하기
10.3.2 할 일 저장하기

11장 컴포넌트 최적화
11.1 컴포넌트 최적화 개요
11.1.1 성능 최적화 방법
11.1.2 불필요한 리렌더링
11.1.3 메모이제이션
11.2 컴포넌트 메모이제이션
11.2.1 React.memo 사용하기
11.2.2 React.memo 사용 시 주의사항
11.3 함수 메모이제이션
11.3.1 함수를 props로 전달하는 경우
11.3.2 useCallback 훅 사용하기
11.3.3 useCallback 훅 사용 시 주의사항
11.4 값 메모이제이션
11.4.1 연산 비용이 큰 작업의 성능 저하 문제
11.4.2 useMemo 훅 사용하기
11.4.3 useMemo 훅 사용 시 주의사항
11.5 로딩 성능 최적화
11.5.1 React.lazy()를 사용한 코드 스플리팅
11.5.2 Suspense
11.5.3 ErrorBoundary
11.6 상태 업데이트 최적화
11.6.1 useDeferredValue 훅(리액트 19 이후)
11.6.2 useTransition 훅
11.7 리소스 로딩 최적화(리액트 19 이후)
11.8 할 일 관리 애플리케이션 개선하기
11.8.1 불필요한 리렌더링 코드 찾기
11.8.2 불필요한 리렌더링 최적화하기

12장 전역 상태 관리
12.1 상태 관리 이해하기
12.1.1 로컬 상태 관리
12.1.2 전역 상태 관리
12.2 Context API로 전역 상태 관리하기
12.2.1 컨텍스트 객체 생성하기
12.2.2 Provider로 컨텍스트 범위 지정하기
12.2.3 useContext 커스텀 훅 만들기
12.2.4 컨텍스트로 공유되는 전역 상태 사용하기
12.2.5 렌더링 최적화하기
12.2.6 컨텍스트 중첩 사용하기
12.2.7 Context API 사용 시 주의사항
12.2.8 use 훅으로 Context API 사용하기(리액트 19 이후)
12.3 Redux로 전역 상태 관리하기
12.3.1 Redux와 Redux Toolkit 설치하기
12.3.2 Redux 스토어 생성하기
12.3.3 Redux 스토어 리액트에 제공하기
12.3.4 Redux 상태 슬라이스 만들기
12.3.5 슬라이스를 스토어에 추가하기
12.3.6 스토어 사용하기
12.3.7 값을 전달해 상태 변경하기
12.3.8 개발자 도구 활용하기
12.4 Zustand로 전역 상태 관리하기
12.4.1 Zustand 설치하기
12.4.2 Zustand 스토어 생성하기
12.4.3 Zustand 스토어 사용하기
12.4.4 Zustand의 고급 기능
12.5 할 일 관리 애플리케이션에 전역 상태 관리 적용하기
12.5.1 Zustand 설치하기
12.5.2 스토어 생성하기
12.5.3 스토어 사용하기

13장 리액트 라우터로 라우팅 기능 사용하기
13.1 라우팅 방식 이해하기
13.1.1 SPA와 CSR
13.1.2 MPA와 SSR
13.1.3 리액트와 리액트 라우터
13.2 리액트 라우터 다루기
13.2.1 리액트 라우터 설치하기
13.2.2 라우팅 컴포넌트 만들기
13.2.3 라우팅 범위 지정하기
13.2.4 라우트 설정하기
13.3 리액트 라우터 기능 사용하기
13.3.1 중첩 라우트
13.3.2 레이아웃 라우트
13.3.3 라우트 프리픽스
13.3.4 동적 세그먼트
13.3.5 옵셔널 세그먼트
13.3.6 스플랫
13.3.7 문서 메타데이터 설정하기(리액트 19 이후)
13.4 내비게이션 기능 사용하기
13.4.1 링크를 통한 이동
13.4.2 프로그래밍 방식 라우팅

14장 비동기 데이터 통신과 처리 기법
14.1 데이터 통신의 기초 개념
14.1.1 HTTP와 메서드
14.1.2 API
14.2 Node.js로 API 서버 만들기
14.2.1 API 서버 실행하기
14.2.2 API 서버 코드 확인하기
14.3 Fetch API로 데이터 통신하기
14.3.1 기본 문법
14.3.2 HTTP 메서드 사용법
14.3.3 리액트에서 사용하기
14.4 Axios로 데이터 통신하기
14.4.1 Axios 라이브러리 설치 및 기본 문법
14.4.2 HTTP 메서드 사용법
14.4.3 리액트에서 사용하기
14.5 데이터 통신 파고들기
14.5.1 초기 데이터 설정하기
14.5.2 응답 데이터 안전하게 처리하기
14.5.3 오류 상태 정의하고 오류 처리하기
14.5.4 로딩 상태 정의하고 처리하기
14.5.5 데이터 요청 취소하기
14.5.6 커스텀 훅 사용: Fetch API 방식
14.5.7 커스텀 훅 사용: Axios 방식
14.6 비동기 데이터 처리 심화
14.6.1 기본 예제 작성
14.6.2 useTransition 훅으로 비동기 데이터 처리하기
14.6.3 useActionState 훅으로 비동기 데이터 처리하기
14.6.4 useFormStatus 훅으로 비동기 데이터 처리하기
14.6.5 useOptimistic 훅으로 비동기 데이터 처리하기
14.6.6 use 훅 사용하기(리액트 19 이후)
14.6.7 use 훅 더 잘 사용하기(리액트 19 이후)

15장 프로젝트: 나만의 블로그 만들기
15.1 블로그 애플리케이션 개요
15.1.1 애플리케이션 UI
15.1.2 프로젝트 폴더 구조
15.2 UI 구성하기
15.2.1 스캐폴딩하기
15.2.2 라우팅하기
15.2.3 HTML 작성하기
15.2.4 CSS 작성하기
15.2.5 컴포넌트 분리하기
15.3 인증 기능 구현하기
15.3.1 백엔드 API 서버 실행하기
15.3.2 인증 기능 이해하기
15.3.3 인증 기능 구현하기
15.3.4 헤더 영역 분기 처리하기
15.3.5 새로 고침 후에도 인증 유지하기
15.3.6 페이지별 접근 제어 설정하기
15.3.7 액세스 토큰 값 요청에 포함시키기
15.4 CRUD 기능 구현하기
15.4.1 글쓰기 기능 구현하기
15.4.2 게시글 목록 표시 기능 구현하기
15.4.3 게시글 상세 페이지 구현하기
15.4.4 연관 게시글 기능 구현하기
15.4.5 검색 기능 구현하기
15.4.6 추가 기능: 토큰 만료 처리하기
15.4.7 추가 기능: 오류 처리하기
15.5 배포하기
15.5.1 빌드하기
15.5.2 Netlify로 배포하기

작가정보

저자(글) 김기수

비전공자 출신으로 안드로이드/iOS 개발로 커리어를 시작해 10년이 넘는 시간 동안 프런트엔드, 백엔드 분야의 다양한 언어를 접하고 활용하며 여전히 개발자의 길을 걷고 있습니다. 현재는 코딩 유튜브 채널인 ‘수코딩’을 운영하며 많은 사람이 코딩을 쉽게 배울 수 있도록 끊임없이 연구하며 노력하고 있습니다.

ㆍ 유튜브 채널: https://www.youtube.com/@sucoding
ㆍ 수코딩 사이트: https://www.sucoding.kr

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    코딩 자율학습 리액트 프런트엔드 개발 입문 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    코딩 자율학습 리액트 프런트엔드 개발 입문 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    코딩 자율학습 리액트 프런트엔드 개발 입문
    리액트 19와 타입스크립트로 배우는 실무 중심 프런트엔드 개발 자습서
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)