FREE SHIPING FOR OVER $100 - MOSTLY SHIP VIA USPS GROUND ADVANTAGE %D days %H:%M:%S
김기수
저자:김기수 비전공자출신으로안드로이드/iOS개발로커리어를시작해10년이넘는시간동안프런트엔드,백엔드분야의다양한언어를접하고활용하며여전히개발자의길을걷고있습니다.현재는코딩유튜브채널인‘수코딩’을운영하며많은사람이코딩을쉽게배울수있도록끊임없이연구하며노력하고있습니다. 유튜브채널:youtube.com/@sucoding 수코딩사이트:sucoding.kr
1장리액트시작하기1.1리액트개요1.1.1리액트의핵심철학1.1.2리액트의특징1.1.3리액트를배워야하는이유1.1.4리액트의발전1.2개발환경설정하기1.2.1Node.js설치1.2.2VSCode설치1.2.3VSCode익스텐션설치1.2.4웹브라우저설치1.3리액트애플리케이션만들기1.3.1Vite로프로젝트생성하기1.3.2불필요한폴더와파일삭제및수정하기1.3.3기본구조살펴보기2장JSX개요2.1JSX란2.2JSX의문법적특징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.1props객체란3.4.2props객체타입알아내기3.4.3props객체의구조분해할당과타입정의3.4.4props와전개연산자3.4.5children3.5컴포넌트와이벤트3.5.1이벤트속성3.5.2이벤트핸들러3.5.3이벤트객체3.5.4이벤트전파4장컴포넌트상태4.1컴포넌트의상태란4.2useState훅:기본상태관리4.2.1useState훅의기본문법4.2.2useState훅사용하기4.2.3useState훅여러번사용하기4.2.4useState훅사용시주의사항4.3useReducer훅:복잡한상태관리4.3.1useReducer훅기본문법4.3.2useReducer훅사용하기4.3.3useReducer훅여러번사용하기4.4상태관리패턴4.4.1상태전달하기4.4.2상태끌어올리기4.5개발자도구로상태값확인하기5장컴포넌트스타일링5.1전통적인방법으로스타일링하기5.1.1인라인스타일5.1.2글로벌스타일5.1.3CSS모듈5.1.4classnames라이브러리5.2CSS-in-JS로스타일링하기5.2.1styled-components5.2.2emotion5.2.3vanilla-extract5.3TailwindCSS로스타일링하기5.3.1설치및기본사용법5.3.2tailwlind-merge라이브러리5.4이미지렌더링하기5.4.1이미지리소스준비하기5.4.2public폴더에서이미지렌더링하기5.4.3src폴더에서이미지렌더링하기5.5폰트적용하기5.5.1구글폰트적용하기5.5.2@font-face로웹폰트적용하기6장실습:계산기만들기6.1실습내용소개6.2리액트애플리케이션의기본구조설정하기6.2.1프로젝트생성하기6.2.2불필요한폴더와파일정리하기6.3UI구성하기6.3.1HTML작성하기6.3.2CSS작성하기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.1if문을사용한조건부렌더링7.1.2삼항연산자를사용한조건부렌더링7.1.3AND연산자를사용한조건부렌더링7.2반복렌더링7.2.1반복렌더링의기본개념이해하기7.2.2map()메서드사용하기7.2.3그밖의사용법8장폼다루기8.1폼정의하기8.2폼제어하기8.2.1제어컴포넌트8.2.2비제어컴포넌트8.3폼제어한단계더나아가기8.3.1useRef훅활용하기8.3.2커스텀훅사용하기8.3.3커스텀훅심화8.4폼밸리데이션8.4.1기본밸리데이션사용하기8.4.2커스텀밸리데이션로직추가하기8.4.3라이브러리사용하기8.5리액트19에서ref변경사항8.5.1ref객체의컴포넌트전달방식8.5.2클린업함수9장실습:할일관리애플리케이션만들기9.1실습내용소개9.2UI구성하기9.2.1기본구조설정하기9.2.2HTML작성하기9.2.3CSS작성하기9.3컴포넌트분리하기9.3.1복잡한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.1useId훅10.2useEffect훅10.2.1컴포넌트의생명주기10.2.2useEffect훅사례10.3할일관리애플리케이션개선하기10.3.1폼요소연결하기10.3.2할일저장하기11장컴포넌트최적화11.1컴포넌트최적화개요11.1.1성능최적화방법11.1.2불필요한리렌더링11.1.3메모이제이션11.2컴포넌트메모이제이션11.2.1React.memo사용하기11.2.2React.memo사용시주의사항11.3함수메모이제이션11.3.1함수를props로전달하는경우11.3.2useCallback훅사용하기11.3.3useCallback훅사용시주의사항11.4값메모이제이션11.4.1연산비용이큰작업의성능저하문제11.4.2useMemo훅사용하기11.4.3useMemo훅사용시주의사항11.5로딩성능최적화11.5.1React.lazy()를사용한코드스플리팅11.5.2Suspense11.5.3ErrorBoundary11.6상태업데이트최적화11.6.1useDeferredValue훅(리액트19이후)11.6.2useTransition훅11.7리소스로딩최적화(리액트19이후)11.8할일관리애플리케이션개선하기11.8.1불필요한리렌더링코드찾기11.8.2불필요한리렌더링최적화하기12장전역상태관리12.1상태관리이해하기12.1.1로컬상태관리12.1.2전역상태관리12.2ContextAPI로전역상태관리하기12.2.1컨텍스트객체생성하기12.2.2Provider로컨텍스트범위지정하기12.2.3useContext커스텀훅만들기12.2.4컨텍스트로공유되는전역상태사용하기12.2.5렌더링최적화하기12.2.6컨텍스트중첩사용하기12.2.7ContextAPI사용시주의사항12.2.8use훅으로ContextAPI사용하기(리액트19이후)12.3Redux로전역상태관리하기12.3.1Redux와ReduxToolkit설치하기12.3.2Redux스토어생성하기12.3.3Redux스토어리액트에제공하기12.3.4Redux상태슬라이스만들기12.3.5슬라이스를스토어에추가하기12.3.6스토어사용하기12.3.7값을전달해상태변경하기12.3.8개발자도구활용하기12.4Zustand로전역상태관리하기12.4.1Zustand설치하기12.4.2Zustand스토어생성하기12.4.3Zustand스토어사용하기12.4.4Zustand의고급기능12.5할일관리애플리케이션에전역상태관리적용하기12.5.1Zustand설치하기12.5.2스토어생성하기12.5.3스토어사용하기13장리액트라우터로라우팅기능사용하기13.1라우팅방식이해하기13.1.1SPA와CSR13.1.2MPA와SSR13.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.1HTTP와메서드14.1.2API14.2Node.js로API서버만들기14.2.1API서버실행하기14.2.2API서버코드확인하기14.3FetchAPI로데이터통신하기14.3.1기본문법14.3.2HTTP메서드사용법14.3.3리액트에서사용하기14.4Axios로데이터통신하기14.4.1Axios라이브러리설치및기본문법14.4.2HTTP메서드사용법14.4.3리액트에서사용하기14.5데
각장은핵심개념설명과실습예제를결합해입문자도무리없이따라갈수있도록구성되었습니다.전통적인CSS부터TailwindCSS까지다양한스타일링방법을비교하며,React.memo,useCallback,useTransition같은성능최적화기법과리액트19의새로운기능을예제를통해자연스럽게익힙니다.또한FetchAPI,Axios,Node.js기반API서버구현까지다뤄,프런트엔드와백엔드연동흐름을이해할수있습니다.학습단계에맞춰계산기,할일관리애플리케이션,나만의블로그만들기프로젝트를직접구현하면서이론과실무를연결합니다.이를통해단순한문법학습을넘어,실제서비스개발에필요한문제해결능력을키울수있습니다.이책은리액트와타입스크립트의기반을탄탄히다지고싶은모든독자에게든든한길잡이가될것입니다.