Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Front-end

Learning React.js with TypeScript: Complete Guide from Basics to Latest Technologies

A comprehensive React course learning the latest features of React 19 with TypeScript! From the basics to state management (Context, Redux Toolkit, Zustand), API communication (Fetch, Axios), the latest hooks (use, useActionState, useOptimistic, etc.), and practical projects, you will gradually learn to build React apps that can be immediately applied in real-world work.

(4.9) 21 reviews

194 learners

  • sucoding
react
타입스크립트
React
react-router
redux-toolkit
zustand
react.js

Reviews from Early Learners

What you will learn!

  • Understanding TypeScript Basic Syntax and Type System

  • React component structure, JSX syntax, usage of props & state

  • React + TypeScript State Management Techniques (useState, useReducer)

  • Iterative rendering, conditional rendering: core syntax and type safety

  • TypeScript-based form handling and validation (controlled/uncontrolled)

  • Latest styling techniques (CSS Module, Styled-component, emotion, vanilla extract, tailwind css

  • Global State Management with Context API

  • Structured state management with Redux Toolkit

  • Simple and Fast State Management Implementation with Zustand

  • Reusing logic with custom hooks

  • Performance Optimization: useMemo, useCallback, React.memo

  • Component Structure Design and Folder Structure Organization Strategy

  • The Highlight of React 19 !!! Handling asynchronous data with use() + Suspense + ErrorBoundary

  • Implementing optimistic UI with useOptimistic()

  • Integrating form processing and state management using useActionState()

  • Implementing SPA Routing with React Router (v7)

  • Page Transition and Dynamic Routing Handling

  • Fetching API Data and Error Handling with Fetch and Axios

  • TypeScript-based real-world project planning and design

  • State management + API communication + Routing integrated example implementation

  • Real-world project code management and finalization (node.js + express + mongodb + kakao + react 19))

비전공자도 이해하기 쉬운 React.JS!!
🛩수코딩의 프런트엔드 로드맵 시리즈 6단계!! 🛩

로드맵 출시

프런트엔드 개발자가 되기 위한 로드맵 출시!

수코딩 강의들을 모은 로드맵이 출시되었습니다!
(📌 이미지를 클릭하면 로드맵 페이지로 이동합니다)

전체 강의에 30% 할인이 적용되어,
개별 강의보다 훨씬 더 저렴하게 수강하실 수 있어요.

또한, 로드맵 참여자분들께는
제가 출판한 책 3권 중 1권을 랜덤으로, 사인본으로 증정하는
이벤트도 진행 중입니다! 😀

로드맵 링크

https://www.inflearn.com/roadmaps/9957 (HTML + CSS + JS + TS + React + Vue)
https://www.inflearn.com/roadmaps/10015 (JS + TS + React)

리액트 입문 분야 베스트 셀러

수코딩 온라인 강의가 책으로도 출간되었어요!

2025 『코딩 자율학습 리액트』 출간! 🎉

수코딩 온라인 강의가 책으로도 출간되었어요.😎
수코딩은 프런트엔드 분야의 책을 다수 집필한 작가이기도 해요!
온라인 강의와 도서를 함께 보면 시너지가 몇 배로 올라갑니다!!

궁금해요

무엇을 배우나요?

React는 사용자 인터페이스를 구축하기 위한 가장 인기 있는 라이브러리 중 하나이며,
TypeScript는 코드의 안정성과 예측 가능성을 높여주는 자바스크립트의 강력한 확장 언어입니다.
이 둘을 함께 사용하면 버그를 줄이고, 코드 자동완성과 리팩토링이 쉬워지며, 대규모 프로젝트에도 강한 설계가 가능합니다.

하지만 처음부터 React와 TypeScript를 동시에 배우는 것은 쉽지 않습니다.
JSX, Props, State 같은 개념에 어떻게 타입을 붙여야 할지 막막하게 느껴질 수 있죠.

이 강의에서는 실무에서 가장 많이 사용되는 React + TypeScript 조합만 선별해 학습합니다.
복잡한 타입 추론이나 드물게 쓰이는 고급 기능은 과감히 제외하고,
초보자도 금방 익숙해질 수 있는 실전 중심의 내용으로 구성했습니다.

이 강의에서 다루는 핵심 주제는 다음과 같습니다:

🧱 기초부터 탄탄히

  • React 19(18+) 기반 최신 개발 흐름 반영

  • react.js 컴포넌트에 TypeScript 적용하기

  • 컴포넌트 트리 구조 이해 및 정의 방법

  • Props, State, Event에 타입 안전하게 선언하는 방법

  • 함수형 컴포넌트의 타입 정의

  • Children, Optional Props, Default Props 등 실무 패턴

  • react-router v7 최신 버전 라우팅 개념 학습

상태관리와 렌더링

  • useState, useReducer를 활용한 상태 정의 및 타입 처리

  • 반복 렌더링, 조건부 렌더링의 핵심 문법과 타입 안전성

🎨 스타일링 전략

  • 다양한 스타일링 방법 학습

  • (CSS Module, styled-components, emotion, vanilla-extract, Tailwind CSS 등)

🔍 리액트 훅과 타입스크립트

  • useState, useEffect, useReducer, useRef, useContext 등 주요 훅 사용법

  • React 19의 최신 훅 (use, useOptimistic, useActionState) 타입 처리

  • 커스텀 훅과 Context API에 타입 적용하기

🧠 전역 상태 관리

  • redux-toolkit, zustand 등 실무에 많이 쓰이는 전역 상태관리 도구 학습

📮 API & 폼 처리

  • React + TypeScript 기반의 Form 다루기 (Controlled/Uncontrolled)

  • API 연동 시 응답 타입 정의 및 에러 핸들링 방법

🛠 실전 중심 구성

  • 디자인 기반의 다양한 실습 예제를 통해 실제 개발 감각 익히기


등 실제 개발에서 자주 활용되는 내용에 집중했습니다.

이 강의를 통해 React(19) + TypeScript의 핵심 개념과 문법을 쉽고 효율적으로 이해하고,
실무에 바로 적용 가능한 개발 역량을 자연스럽게 키워나갈 수 있습니다. 🚀

완전 초보자도 괜찮아요,

기초부터 차근차근 모두 알려드릴게요.

React + TypeScript, 처음 시작하셔도 걱정하지 마세요.
기초부터 차근차근, 하나씩 함께 배워 나갈 수 있도록 구성했습니다.

React는 사용자 인터페이스를 만들기 위한 가장 인기 있는 라이브러리이며,
TypeScript는 그 React를 더 안전하고 체계적으로 다룰 수 있도록 도와주는 강력한 도구입니다.

하지만 두 기술을 처음 접하면 이런 고민이 생기기 마련이죠:

“컴포넌트에 타입은 어떻게 붙이지?”
“useState에는 어떤 타입을 써야 할까?”

이 강의는 React와 TypeScript 모두 처음인 분들
부담 없이 시작할 수 있도록,
쉬운 예제와 실습 중심으로 구성했습니다.

수코딩이 자신있게 말합니다.

이 강의는 세상 그 어떤 리액트 강의보다 가장 쉽게 리액트를 알려줍니다.


🚀 React(19) + TypeScript, 쉽고 실용적으로 익히기

React 19의 최신 기능부터
상태 관리, 폼 처리, API 연동, 실전 프로젝트까지!

핵심 개념을 하나씩 익히고,
실제 프로젝트에 자연스럽게 적용할 수 있는 실력을 만들어 드릴게요.

“React + TypeScript를 더 안전하고, 더 똑똑하게!”
이 강의를 통해 여러분의 개발 실력을 한 단계 업그레이드해보세요. 🎯

수코딩 강의만의
특별한 점

최신 React 19 기능 완벽 반영

  • 이 강의는 처음부터 React 19 기반으로 제작되었습니다. (리액트 18로 찍다가 19로 업그레이드 한 게 아닙니다. 리얼 최신! 🚀)

  • 새로운 useOptimistic, useFormStatus 등 최신 기능을 학습하며, React 19 프로젝트에도 자신 있게 대응할 수 있습니다.

실무에서 바로 적용 가능한 핵심 중심 커리큘럼

  • JSX, Props, State, Event 등 React에서 자주 사용하는 개념을 TypeScript와 함께 배웁니다.

  • 컴포넌트 타입 정의, Hooks 타입 처리, 제네릭 활용까지! 실제 현업에서 쓰이는 기술만 선별하여 집중 학습합니다.

직관적이고 쉬운 예제와 실습 위주 강의

  • 리액트를 처음 배우는 사람도 쉽게 이해할 수 있도록 개념을 단계별로 설명하고, 예제 → 실습 방식으로 학습합니다.

  • 손으로 직접 코딩하며 배우는 실습 중심 강의로, 이론을 실전에 바로 적용할 수 있게 도와줍니다.

자바스크립트와의 차이점 명확히 이해

  • 리액트를 자바스크립트로만 써봤다면?
    TypeScript와의 차이점과 장점을 명확히 비교하여 이해할 수 있습니다

  • 기존 JS 코드도 어떻게 타입스크립트로 옮기는지 자연스럽게 익히게 됩니다.

최신 버전의 타입스크립트 기능까지 완벽 적용

  • 최신 버전의 React와 TypeScript 기능을 적용해,
    앞으로의 프로젝트에도 무리 없이 적용할 수 있는 기반을 다집니다.

  • 최신 개발 트렌드와 업데이트 내용을 수시로 반영합니다.

실무 팁과 개발자 노하우 아낌없이 공개

  • 교과서에 없는 현업 개발자만의 실전 팁업무 효율을 높이는 방법까지 알려드립니다.

  • 자바스크립트뿐만 아니라, 프런트엔드 개발자로 성장하기 위한 방향성도 제시합니다.

수강생 맞춤 피드백과 꼼꼼한 Q&A 지원

  • 수강생의 질문에 대해 빠르고 친절한 피드백을 제공합니다.

  • 자주 하는 실수나 헷갈리는 부분을 짚어주며, 개개인의 학습 효과를 극대화합니다.

초보자의 눈높이에
최적화된
핵심 커리큘럼

Chapter 01
준비하기

리액트 학습을 시작하기 전에 필요한 환경 설정을 배웁니다.
각각의 OS별로 VSCode를 설치하는 방법을 살펴보고
Prettier 및 익스텐션을 설치하여 학습 준비를 합니다.

Chapter 02
시작하기

이 챕터에서는 리액트 애플리케이션을 최신 방식으로 시작하는 방법을 다룹니다. Create React App(CRA)을 대체하는 Vite 기반 개발 환경을 구성하며, 리액트 개발에 필요한 필수 설정을 익히게 됩니다.

  • CRA의 한계와 Vite의 장점 비교

  • Webpack과 Vite의 차이점과 생태계 흐름 이해

  • Vite를 활용한 빠르고 직관적인 리액트 프로젝트 세팅

  • 스니펫과 유저 스니펫을 통한 코드 생산성 향상

  • 초기 프로젝트 구조 정리와 npm run dev 실행 흐름 파악

또한, 리액트에서 가장 중요한 JSX 문법의 개념과 특징을 소개합니다. JSX가 어떻게 HTML과 JavaScript를 결합하는지, 어떤 문법적 특징이 있는지를 이해하면서 이후 컴포넌트 학습을 위한 기초를 다지게 됩니다.

Chapter 03
컴포넌트 기본

리액트에서 컴포넌트는 UI를 구성하는 가장 작은 단위이자 핵심 개념입니다. 이 챕터에서는 컴포넌트가 무엇인지, 어떻게 동작하고 어떻게 구성되는지를 실제 코드와 함께 단계적으로 학습합니다.

  • 컴포넌트란 무엇인가? 그리고 왜 중요한가?

  • 함수형 컴포넌트의 작성 조건과 구성 방식

  • React.Fragment를 이용한 불필요한 DOM 제거

  • 새로운 컴포넌트를 만드는 방법과 폴더 구조 설계

  • 루트 컴포넌트와 컴포넌트 트리 구조의 개념 이해

또한, 실습을 통해 직접 컴포넌트를 생성하고 적절한 위치에 배치하면서 컴포넌트 기반 설계에 대한 감각을 익히게 됩니다.
이 과정을 통해, 컴포넌트를 보는 눈이 달라지고, 이후의 복잡한 리액트 구조도 자연스럽게 이해할 수 있는 기반을 마련할 수 있습니다.

Chapter 04
컴포넌트의 데이터와 Props

이제 리액트의 핵심 개념 중 하나인 Props(속성)를 본격적으로 다룹니다. 이 챕터에서는 컴포넌트 간에 데이터를 어떻게 전달하고 활용하는지를 다양한 예제와 실습을 통해 익히게 됩니다.

  • 리액트에서 컴포넌트 간 관계 이해: 조상-부모-자식 구조

  • JSX 내에서 기본 타입과 참조 타입 데이터를 출력하는 방법

  • 태그 속성에 값을 전달하는 기본 원리

  • Props를 통해 데이터를 전달하는 다양한 방식과 패턴

  • 비구조화 할당을 활용한 props 분리와 가독성 향상

  • 타입스크립트를 기반으로 props의 타입을 쉽게 추론하고 명확히 정의하는 방법

  • 전개 연산자(...)를 활용한 props 전달 방식 이해

  • children이라는 특별한 prop을 활용한 컴포넌트 재사용성 확장

  • propschildren의 역할 차이 비교

이 챕터를 통해, 리액트 컴포넌트 간의 데이터 흐름을 자연스럽게 이해하고, 타입 안정성과 가독성을 동시에 고려한 props 설계 역량을 키우게 됩니다.

Chapter 05
컴포넌트와 이벤트

리액트 애플리케이션에서 이벤트 처리는 사용자와의 상호작용을 구현하는 핵심입니다. 이 챕터에서는 버튼 클릭부터 이벤트 전파까지, 리액트에서 이벤트를 어떻게 다루는지 체계적이고 실용적인 관점으로 학습합니다.

  • JSX 문법을 통한 이벤트 연결 방식

  • 이벤트 속성과 이벤트 핸들러 함수의 작성 패턴

  • 핸들러에 매개변수를 전달하는 다양한 방법과 추천 방식

  • 핸들러 내부에서 props를 읽는 흐름과 실전 예시

  • 상위 컴포넌트에서 핸들러를 props로 전달하는 구조

  • 이벤트 객체(SyntheticEvent)의 구조 및 활용법

  • target, currentTarget의 차이점과 용도

  • 이벤트 전파 개념: 버블링캡처링의 이해

  • 이벤트의 기본 동작 차단 방법 (e.preventDefault())

마지막으로 버튼 컴포넌트를 직접 만들고, 다양한 이벤트를 처리하는 실습을 통해 이벤트 처리 패턴을 자연스럽게 내재화합니다.

Chapter 06
컴포넌트 상태 - useState 훅

리액트의 상태 관리는 컴포넌트가 사용자와의 상호작용에 따라 반응하고 변화하도록 만드는 핵심 기능입니다. 이 챕터에서는 useStateuseReducer를 중심으로 상태 관리의 개념, 활용법, 실전 적용까지 폭넓게 다룹니다.

  • 상태가 필요한 이유와 상태값의 기본 개념

  • useState 훅의 기초적인 사용법부터 실전 적용까지

  • 객체 및 배열 상태를 다룰 때 주의할 점과 리렌더링 동작 방식

  • setState의 업데이트 방식과 함수형 업데이트

  • 상태의 독립성 개념과 상태 끌어올리기(lifting state up)

  • 캡슐화(encapsulation)를 통한 상태 관리 책임 분리

  • 카운터 앱을 직접 만들어보며 상태 관리 실력을 점진적으로 강화

  • useReducer를 이용한 복잡한 상태 로직의 구조화

  • reducer 패턴으로의 전환 및 실전 미션 수행

이 챕터를 마치면, 단순한 상태 변경부터 복잡한 데이터 흐름까지 안정적으로 관리할 수 있는 리액트 개발자로 한층 성장하게 됩니다.

Chapter 07
반복&조건 렌더링

The actual user interface (UI) consists of a structure where the screen changes conditionally depending on the situation and repeatedly renders multiple data. This chapter focuses intensively on how to implement such UI in React.

🔹 Conditional Rendering

  • if, switch, ternary operator(? :), logical operator(&&) and various other conditional expression methods

  • Comparison of usage timing and pros/cons of each conditional method

  • Traffic lights, login status, message output, and other real-world scenario-based practice

  • Provides practical tips on nested conditions, readability, component separation strategies, and more

🔹 Repeated Rendering

  • Component repetition output using map() based on array data

  • Understanding the Importance and Valid Scope of the key Attribute in Repeated Rendering

  • Combination of data filtering and conditional rendering using filter() and other methods

  • Master repetition patterns through practical exercises such as rendering recipe lists

After completing this chapter, you'll be able to naturally implement complex conditions and iterations with React, and develop the skills to design readable dynamic UIs.

Chapter 08
스타일링

In this chapter, you will comprehensively learn various techniques for styling components in React.
From simple inline styles to CSS-in-JS, Tailwind, and image styling, you will master all the styling techniques frequently encountered in actual frontend development through hands-on practice.

🔹 Basics of Styling

  • Utilizing Inline Styles and Global CSS

  • Component-level style encapsulation through CSS modules

  • Dynamic class management using the classnames utility

  • 🧩Mission: Experience comparing various styling methods through button group UI implementation

🔹 CSS-in-JS — styled-components

  • styled-components syntax and basic usage methods

  • Dynamic styling using props

  • keyframes, as and other advanced features, helper functions, and mixin usage

  • Global Style Management and Tips Collection

  • 🧩Mission: Create a Traffic Light UI with styled-components

🔹 Tailwind CSS — Utility-First Styling

  • Tailwind's Core Philosophy and Directive System

  • Conditional Class Application Methods and Practical Implementation Strategies

  • 🧩Mission: Complete Calculator UI with Tailwind

  • 🧩Bonus Mission: Add Tailwind's practical sense to challenge advanced UI!

🔹 Image & Font Styling

  • Image Rendering Considerations and CSS Adjustment Methods

  • 🧩Mission: Implement animated UI for lamp lighting up

  • How to apply Google Web Fonts as well

Through this chapter, you'll develop the ability to determine which styling tools are suitable for your project and acquire practical skills for implementing beautiful and maintainable UI.

Chapter 09
계산기 만들기

This chapter is a hands-on project where you will directly implement an actual working calculator application based on everything you've learned so far. You'll experience everything firsthand, from component design, state management, event handling, type separation, to UI composition.

🛠 Project-Based Learning

  • Project Overview: Calculator Operation Principles and Structure Before Starting

  • UI Design and Component Structuring

  • Organizing component roles and responsibilities through the refactoring process

  • 🧩Use TypeScript to clearly separate state and operator types

  • Implement key features such as numbers, operators, decimal points, clear, etc. directly

  • Learning bug handling and debugging workflows frequently encountered in practice

🧪 Utilizing Development Tools

  • React Developer Tools Installation and Usage to Visualize State Change Flow

  • Real-time status tracking and component structure analysis capability enhancement

When you complete this chapter, you'll experience component separation, state design, debugging, and type management all at once, going beyond simple feature implementation, and gain confidence in React through "the joy of seeing features you built yourself actually work".

Chapter 10
폼다루기

This chapter contains practical considerations on how to handle forms in React. Beyond simple input processing, it comprehensively covers React 19's new features (ref forwarding), form logic reuse through custom hooks, and validation.

🔹 Controlled Components

  • input, checkbox, radio, textarea 등 제어 컴포넌트 전반 실습

  • Understanding State-Connected Input Processing Flow and Re-rendering

  • 🧩Mission: Implement Form UI Combining Various Control Inputs

🔹 Uncontrolled Components

  • Accessing input values through ref and DOM-based control methods

  • Comparison of Advantages and Disadvantages of Controlled/Uncontrolled Methods and Integration Strategies

  • 🧩Mission: Batch Processing Multiple Inputs Using Uncontrolled Components

🔹 React 19 Advanced Form Control

  • ref as props: A new pattern (React 19)

  • Separating complex input processing into custom hooks and increasing reusability

  • Advanced Custom Hooks: Internal State Abstraction, Custom Validation Integration

🔹 Validation

  • Required values, length, format, and other basic validation implementation patterns

  • Writing Custom Validation Functions and Hook Integration

  • 🧩Mission: Complete the Login Form
    → Input control + validation + state handling for comprehensive form practice

After completing this chapter, you'll move beyond simple input handling
to gain the ability to construct complex form flows and manage them with a clean, maintainable structure.
This is a decisive opportunity to acquire practical-level input control experience along with the latest React technologies.

Chapter 11
할 일 관리 앱

In this chapter, we'll implement a fully functional Todo management application based on the core React concepts we've learned so far.
This chapter allows you to experience the complete practical React development workflow from start to finish, including component separation, state management, event handling, list rendering, and edit/delete functionality.

🛠 Practical Implementation Content

  • Starting from project setup to establishing the basic structure

  • Implementing todo registration functionality through input forms

  • Displaying a to-do list with list rendering

  • Checkbox-based task completion marking and delete functionality added

  • 🧩Master state updates and UI control logic through implementing todo edit functionality

What you gain through hands-on practice

  • Beyond simple API understanding, designing role separation and data flow between multiple components

  • React app that operates centered on state - implementing the structure and flow from start to finish by yourself

  • A mission-like complete project where you directly experience building a small-scale CRUD app

When you complete this chapter, you'll have a confident first project experience of designing and completing an app by combining various React features.

Chapter 12
Side Effects and Component Optimization Techniques

This chapter goes beyond React components simply "rendering" to cover side effect management including asynchronous operations, browser events, and external API handling as well as optimization strategies to reduce unnecessary rendering.

🔹 Side effect management (useEffect, useId, etc.)

  • useId Hook for Accessibility Enhancement and Unique Identifier Generation

  • 🧩Apply useId to a to-do management app to develop practical accessibility skills

  • useEffect timing, dependency array principles, and other theory + practice

  • 🧩Apply useEffect to Todo app to implement external data and state change response handling

🔹 컴포넌트 최적화 (React.memo, useCallback, useMemo)

  • Preventing unnecessary re-rendering through React.memo

  • Analysis of when memoization is cleared and the reasons behind it

  • Differences between [[CODE_1]]useCallback[[/CODE_2]] and [[CODE_2]]useMemo[[/CODE_2]] and when to apply them

  • 🧩Experience optimization by applying React.memo and useCallback to a to-do management app

🔹 고급 렌더링 전략 (lazy, suspense, error-boundary)

  • Basic concepts of [[CODE_1]]lazy()[[/CODE_2]] and [[CODE_2]]Suspense[[/CODE_2]] for lazy loading components

  • Loading UI Design and User Experience Enhancement Strategies

  • Error handling with ErrorBoundary to protect the app from crashing when errors occur

After completing this chapter, you will be able to directly implement designs that consider performance and maintainability even within complex component structures,
and you will develop the React app operational skills required at the level demanded by real services.

Chapter 13
Context API

Want to handle deep data passing between components cleanly? Context API is the answer.
In this chapter, you'll learn the core concepts and usage of Context API as the foundation of global state management, and develop structured app development skills by applying it to real-world projects.

🔹 The Need for Global State and Context API Basics

  • The need for global state to solve the props drilling problem

  • Basic global state design using [[CODE_1]]createContext[[/CODE_2]] and [[CODE_2]]useContext[[/CODE_2]]

  • Unnecessary rendering issues and structural improvement methods (memo, context separation)

  • Efficiently manage complex global state by combining with reducer

  • Includes practice with patterns using two or more Contexts together

🧩 Hands-on: UserProfile State Management Project

  • Initial UserProfile code analysis → State separation with context object

  • 🧩Font size, theme, notification settings, language settings (i18n.ts) and other user environment settings managed as global state

  • Control render order and layout responsiveness by utilizing useLayoutEffect together

  • Learning scalable global state architecture through Context API + custom hook design

🧩 Mission: Apply Context API to Todo App

  • Introducing global state to existing todo app → improving component state sharing structure

  • Configure multiple components to utilize the same state and strengthen practical design skills

Through this chapter, you'll move beyond simple component-level state management,
and be able to actually implement global state flow and management strategies that consider the entire app.

Chapter 14
Redux ToolKit

If you've grasped the concept of global state with Context API, now you'll experience Redux Toolkit (RTK) to build a more scalable and maintainable global state management structure.
This chapter focuses on hands-on learning of Redux Toolkit's core features so you can systematically manage complex state.

🔹 Redux Toolkit Theory + Setting Up Structure

  • The Background of Redux Toolkit's Emergence and Differences from Traditional Redux

  • Store Creation and Slice Structuring through createSlice

  • Understanding state change flow, action dispatch, and re-rendering flow

  • Redux DevTools integration for state debugging

  • Parameter passing, extending to asynchronous processing logic using thunk

  • Advanced structure practice for separating and merging multiple slices for management

🧩 Hands-on: UserProfile State Management with Redux

  • Restructuring UserProfile state based on Redux

  • 🧩Structure font size, notification settings, theme state, etc. in slice units

  • Comparative experience of stronger structural control and maintainability compared to Context API

🧩 Mission: Apply Redux to Todo App

  • Convert existing todo management app to Redux Toolkit-based

  • Implement Todo status, add/delete/modify logic in slice units

  • Practical Component-Store Separation Strategy and Code Management Experience Enhancement

After completing this chapter, you'll move beyond simple state management
and reach "the level where you can directly implement structured global state management in slice units".
This is a highly recommended practical chapter for those who were curious about how to use Redux Toolkit in real-world projects.

Chapter 15
Zustand

Want to quickly create global state without complex setup?
In this chapter, we'll learn about Zustand, a lightweight and intuitive global state management library.
With a structure that's lighter than Redux and more powerful than Context, it's a state management alternative that's gaining increasing attention in real-world development.

🔹 Zustand from Basics to Practice

  • Zustand의 개념과 철학: “Global store with minimal boilerplate”

  • Basic Usage and State Definition Methods

  • A structure that allows passing parameters to state and easily creating derived state

  • persist feature for persistent storage like localStorage

  • subscribeWithSelector Render Optimization Using

  • immerfor intuitive immutability management

  • devtools integration for easy debugging

🧩 Practice: Implementing UserProfile State

  • Reimplementing UserProfile state based on Zustand

  • Experience the differences in code volume, intuitiveness, and scalability compared to Redux/Context

🧩 Mission: Todo App Zustand Refactoring

  • Convert existing todo app to Zustand-based

  • Direct implementation of various ways components use global state

  • Provides experience implementing state change → UI render → save/restore flow with minimal code

After completing this chapter, you will become an expert who has experienced all three state management tools (Context API, Redux Toolkit, Zustand) and
gain practical standards and intuition to judge and select the appropriate global state tool for each situation.

Chapter 16
데이터 통신

Now it's time to turn your React app into a "living app".
In this chapter, you'll learn how to communicate with real servers and directly connect this to the PostBrowser mini project to complete the practical communication structure of React apps.

🔹 Basics of Data Fetching

  • Basic Concepts and Structure of HTTP Communication

  • json-server local API server setup → 🛠Hands-on API environment construction

  • Thunder Client API Test Automation

  • 📝db.json Complete hands-on practice with file structure notes provided

🔹 CRUD Practice Using fetch

  • 기본 요청 (GET, POST, PUT, DELETE) 구조 익히기

  • Includes practical elements such as loading states, error handling, and request cancellation (AbortController)

  • 🧩Implement all practical CRUD operations with fetch and understand React integration flow

🔹 Advanced Fetching with axios

  • axios basic usage to complete CRUD flow summary

  • Common instance configuration through axios.create()

  • Introduction to practical strategies including interceptors, error handling, and response structure integration

🧩 Hands-on Project: PostBrowser App

  • Basic code provided → Apply data integration to React app

  • Post rendering → pagination implementation → search functionality addition sequential completion

  • Experience all aspects comprehensively through hands-on practice: state management, fetching flow, and UI update flow

After completing this chapter, you will have the ability to go beyond simple components and directly design and implement practical React applications that communicate with APIs.
This is the part that builds a solid foundation that can later be expanded to TanStack Query or advanced state management.

Chapter 17
데이터 통신 심화

This chapter focuses on form/async-related APIs introduced in React 19, and you'll learn
how to optimize data communication from a user experience perspective through feature-based practice + TMDB hands-on project.

🔹 React 19's Form Handling and Asynchronous Flow

  • useTransition for Smooth UI State Transition Handling

  • 🧩Hands-on learning through before and after comparison practice of Transition application

  • useActionState, form action, useFormStatus through
    Learning new form handling methods and server action flow

🔹 Utilizing the Latest UX Features

  • Implementing optimistic UI with useOptimistic

  • Modern UX design that reflects UI first without waiting for responses before asynchronous operations

  • use() for Direct Promise-based Data Processing and Suspense Integration

  • ErrorBoundary and Suspense combination for error + loading response strategy configuration

🧩 Hands-on: TMDB Movie App Development

  • Movie list rendering → Paging → Implementation progression to infinite scroll

  • 🧩Building a production-ready movie app with Suspense + use() + ErrorBoundary combination

  • Complete cycle experience of server communication integrated with user registration flow

After completing this chapter, you'll go beyond simple fetch or axios level
and reach a level where you can naturally integrate features that lead data UX in the React 19 era into real-world apps.
This is a highly recommended part for those who want to implement user-centered UI responsiveness and real-time apps.

Chapter 18
React Router v7

리액트 애플리케이션에서 라우터는 페이지 구조, 데이터 흐름, 사용자 이동 경험을 책임지는 핵심입니다.
이 챕터에서는 React Router v7의 최신 API들을 기반으로 SPA 구조를 설계하고,
라우팅 + 데이터 로딩 + 에러 핸들링까지 완전한 전환 흐름을 구축해봅니다.

🔹 라우팅 기초와 구조화

  • 기본 설치 및 라우터 설정

  • 중첩 라우트, 인덱스 라우트, 레이아웃 라우트 구성

  • 라우트 프리픽스, 동적/옵셔널 세그먼트, 스플랫 등 실무형 경로 패턴 학습

  • NavLink, Link를 활용한 UI 중심의 이동 제어

🔹 폼 & 내비게이션 동작

  • 컴포넌트로 리액트 라우터 기반 폼 처리 이해

  • navigate() 함수를 활용한 프로그래밍 방식 이동 처리

  • 전통적인 form 제출 방식과 라우터 기반 접근의 차이 체험

🔹 데이터 패칭 + 로딩 + 에러 핸들링

  • loader 속성을 통한 라우트 단위 데이터 패칭 흐름 설계

  • loader에서 발생하는 비동기 요청 → 로딩 처리 → 에러 핸들링

  • loader + suspense, loader + errorElement 등 실전 구조 구현

이 챕터를 마치면, 리액트 앱의 페이지 설계부터 데이터 흐름, 사용자 경험까지
전반적인 SPA 구조를 스스로 설계하고 운영할 수 있는 프론트엔드 설계력을 얻게 됩니다.

Chapter 19
Final Project - SULOG

지금까지 학습한 컴포넌트 설계, 상태 관리, 데이터 통신, 사용자 경험 최적화, 인증 처리, 배포까지
모든 내용을 집약한 리액트 기반 풀스택 프로젝트의 완성 단계입니다.
이 챕터에서는 실제 서비스처럼 동작하는 블로그형 웹 애플리케이션을 직접 구현하고 배포까지 경험합니다.


🛠 백엔드 + 인증 구현

  • MongoDB 설정 및 백엔드 API 연동

  • 카카오 로그인 구현: 애플리케이션 등록부터 OAuth 플로우 전체 구성

  • 자체 회원가입/로그인 구현: 폼 구성 + 서버 연동 + 상태 관리

  • 토큰 인증, 에러 처리, 인증 흐름 디버깅 실습


🧩 게시글 기능 전체 구현

  • 게시글 등록 → 이미지 첨부 프리셋 연동

  • 수정, 삭제, 상세 보기 기능까지 모든 CRUD 흐름 실현

  • 댓글 작성, 삭제, 렌더링 로직 → 상태 연동 및 리렌더링 처리

  • 백엔드 수정 내용은 강의 노트로 함께 제공


🔁 페이지네이션 + 리스트 최적화

  • 메인 게시글 목록을 페이지 단위로 불러오기

  • 페이지네비게이션 컴포넌트를 직접 설계하여 실전 감각 강화

  • 무한스크롤이 아닌 정형화된 페이징 처리 전략 이해


🎯 UI 다듬기 + 오류 보완 + 실제 배포

  • 사용자 흐름에 맞춘 UI/UX 개선과 미비점 보완

  • 프론트엔드 & 백엔드 각각 Vercel을 통한 실제 배포 실습

  • 실 서비스 기준으로 도메인 구성, 이미지 최적화, 최종 점검까지

이 파이널 챕터를 마치면, 단순한 연습을 넘어
“스스로 사용자 인증 기반 웹 서비스를 구축하고 운영할 수 있는 개발자”가 됩니다.
강의를 통해 배운 모든 것을 완성된 하나의 서비스로 통합해보며 실력을 검증하세요!

다양한 실습

챕터별 수준에 맞게 구성된 최적화된 실습

디자인이 적용되지 않은 실습만 빼고, 디자인이 적용된 것만 소개할게요!

신호등(chapter 08)

램프(chapter 08)

계산기(chapter 09)

로그인(chapter 10)

할일 관리 앱(chapter 11)

사용자 설정(chapter 13)

Post Browser(chapter 16)

TMDB(chapter 17)

파이널(chapter 19) - 용량문제로 움짤 불가..ㅠ

디자인이 적용안된 예제까지 하면 수십개 +

이러한 밀도 높은 모든 예제들이 여러분들의 단계적인 학습

완벽하게 도와줄 것이라고 자신합니다.

잠시만요!

강의에도 나와 맞는 '결'이 있다는 거 아시나요?

누구에게나 인정받는 대작 게임이 나에게는 재미없을 수 있는 것처럼,
강의도 모두에게 똑같이 맞는 건 아닙니다.

아무리 칭찬이 자자한 강의라도 나와 맞지 않을 수 있고,
반대로 누군가에겐 평범한 강의가 나에겐 최고의 강의가 될 수 있죠.

그래서 제 모든 강의는 최소 10% 이상 무료로 공개되어 있습니다.
직접 들어보고, 저와 스타일의 ‘결’이 맞는지 확인해 보세요!

만약 저와 결이 잘 맞는다면,
프런트엔드 개발자로 가는 가장 빠른 지름길을 안내해 드리겠습니다.
믿고 따라오세요!🚀

자주 묻는 질문

Q. 진짜 아무것도 모르는 초보자입니다. 괜찮을까요?
A. 네. 정말 괜찮습니다. 아무것도 모르는 분들이 학습할 수 있게 구성한 맞춤 강좌입니다. 단, 학습에 사용되는 언어에 대한 최소 수준의 지식은 갖추어야 합니다.

Q. 선수지식이 필요한가요?

A. 네, 본 강좌는 반드시 HTML5/CSS3/JavaScript/TypeScript에 대한 선행 지식이 필요합니다.

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows, macOS

  • 사용 도구: 비주얼 스튜디어 코드(Visual Studio Code), 크롬(Chrome)

  • PC 사양: 웹 서핑이 가능한 수준의 최저 사양도 가능합니다.

학습 자료

  • 실습 진행을 위한 강의별 학습 자료 제공합니다.


선수 지식 및 유의사항

  • 완전 비전공자, 초보자도 수강 가능

  • 단, HTML5/CSS3/JavaScript/TypeScript에 대한 학습은 선행되어야 합니다.

Recommended for
these people

Who is this course right for?

  • Frontend beginner new to React.

  • JavaScript-based React familiar, TypeScript unfamiliar developer

  • Those who want to systematically compare state management tools (Context, Redux Toolkit, Zustand)

  • A developer keen to apply React 19's new features in practice

  • Prospective job seeker who wants to complete a React project for their portfolio

Need to know before starting?

  • html + css

  • javascript

  • typescript

Hello
This is

4,372

Learners

202

Reviews

74

Answers

4.9

Rating

7

Courses

수코딩은 온라인과 오프라인을 병행하면서
코딩을 가르치는 활동을 하고 있습니다.

다년간의 오프라인 강의 경험을 바탕으로,
더 많은 사람들이 코딩을 쉽고 재미있게 배울 수 있도록
매일 고민하고, 끊임없이 노력하고 있습니다.

현재까지 다음과 같은 3권의 책을 출판하며
프런트엔드 강의 분야를 선도하고 있습니다:

또한, 유튜브 채널을 통해 다양한 무료 강의도 제공하고 있습니다.
👇 지금 바로 방문해 보세요
[유튜브 채널 링크]

Curriculum

All

316 lectures ∙ (26hr 50min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

21 reviews

4.9

21 reviews

  • winzzone2님의 프로필 이미지
    winzzone2

    Reviews 5

    Average Rating 5.0

    Edited

    5

    31% enrolled

    途中にミッションパートがあるので、自分で問題を解決できるか、どれくらい概念を理解したかを確認できて、本当に満足しています。 次の講義がとても楽しみです。早く出てほしいですね! 個人的に先生の講義スタイルなら、データ構造/アルゴリズム講義もうまく作られると思います。

    • sucoding
      Instructor

      こんにちは、熊コードさん! 温かいお言葉を本当にありがとうございます!ミッションパートがお役に立てたとのことで、やりがいを感じています。今後も学習に楽しさと達成感をお届けできるよう準備してまいります。データ構造/アルゴリズム講義についてのご意見も大切に参考にさせていただきます。次の講義もご期待にお応えできるよう一生懸命準備いたします!

  • sduddla님의 프로필 이미지
    sduddla

    Reviews 4

    Average Rating 5.0

    Edited

    5

    100% enrolled

    淡白さ、すっきりさ、繊細さ、面白さまで全て揃った講義。 良い講義を作ってくださってありがとうございます。

    • sucoding
      Instructor

      sy様 高評価ありがとうございます! 良い一日をお過ごしください!

  • ryan05244874님의 프로필 이미지
    ryan05244874

    Reviews 2

    Average Rating 5.0

    5

    29% enrolled

    Kind な話し方で集中力も良くてとても繊細なようですね

    • sucoding
      Instructor

      こんにちは、イングさん!温かいお言葉、ありがとうございます!集中して聞いてくださり、さらに励みになります。今後も繊細でKindな講義で、お役に立てるよう努力いたします😊

  • aykim3156님의 프로필 이미지
    aykim3156

    Reviews 1

    Average Rating 5.0

    5

    17% enrolled

    実務で必要だったので受講しました。 ウェブ開発は初めてですが、よく説明してくださるので理解しやすいです! 最後までしっかり受講します。

    • sucoding
      Instructor

      すぐに実務に活かせるとは素晴らしいですね! 初めての方でも理解できるように構成しましたので、 ご心配なさらず、最後まで一緒にやっていきましょう。 応援しています 💪

  • sirubom12032826님의 프로필 이미지
    sirubom12032826

    Reviews 4

    Average Rating 5.0

    Edited

    5

    31% enrolled

    基本概念から短く短く説明してくださって本当に良いです いつも感じることですが、スコーディングさんの講義は「本を読んでくれる講義」だと感じます。テキストで読んだ時は難しいですが、言葉で解説して資料と一緒に見せてくださるので本当によく伝わってくるようです! 追加的に最近フロント技術面接の勉強を始めたのですが、講義にもこのような内容がよく盛り込まれていました。色々と有益な講義ありがとうございます。

    • sucoding
      Instructor

      貴重なフィードバックありがとうございます!テキストで難しい部分を分かりやすくお伝えできるよう、常に努力しています。今後も、よりお役に立てるよう、引き続き発展していきます!ありがとうございます 😀

$77.00

sucoding's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!