
JavaScriptの要点だけを厳選して学ぶ
sucoding
フロントエンド初心者が必ず習得すべきJavascript文法!基礎から始めて、高度な内容に至るまでJavaScript言語を徹底的に掘り下げていきます!
입문
JavaScript
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.
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의 최신 기능부터
상태 관리, 폼 처리, API 연동, 실전 프로젝트까지!
핵심 개념을 하나씩 익히고,
실제 프로젝트에 자연스럽게 적용할 수 있는 실력을 만들어 드릴게요.
“React + TypeScript를 더 안전하고, 더 똑똑하게!”
이 강의를 통해 여러분의 개발 실력을 한 단계 업그레이드해보세요. 🎯
이 강의는 처음부터 React 19 기반으로 제작되었습니다. (리액트 18로 찍다가 19로 업그레이드 한 게 아닙니다. 리얼 최신! 🚀)
새로운 useOptimistic, useFormStatus 등 최신 기능을 학습하며, React 19 프로젝트에도 자신 있게 대응할 수 있습니다.
JSX, Props, State, Event 등 React에서 자주 사용하는 개념을 TypeScript와 함께 배웁니다.
컴포넌트 타입 정의, Hooks 타입 처리, 제네릭 활용까지! 실제 현업에서 쓰이는 기술만 선별하여 집중 학습합니다.
리액트를 처음 배우는 사람도 쉽게 이해할 수 있도록 개념을 단계별로 설명하고, 예제 → 실습 방식으로 학습합니다.
손으로 직접 코딩하며 배우는 실습 중심 강의로, 이론을 실전에 바로 적용할 수 있게 도와줍니다.
리액트를 자바스크립트로만 써봤다면?
TypeScript와의 차이점과 장점을 명확히 비교하여 이해할 수 있습니다
기존 JS 코드도 어떻게 타입스크립트로 옮기는지 자연스럽게 익히게 됩니다.
최신 버전의 React와 TypeScript 기능을 적용해,
앞으로의 프로젝트에도 무리 없이 적용할 수 있는 기반을 다집니다.
최신 개발 트렌드와 업데이트 내용을 수시로 반영합니다.
교과서에 없는 현업 개발자만의 실전 팁과 업무 효율을 높이는 방법까지 알려드립니다.
자바스크립트뿐만 아니라, 프런트엔드 개발자로 성장하기 위한 방향성도 제시합니다.
수강생의 질문에 대해 빠르고 친절한 피드백을 제공합니다.
자주 하는 실수나 헷갈리는 부분을 짚어주며, 개개인의 학습 효과를 극대화합니다.
리액트 학습을 시작하기 전에 필요한 환경 설정을 배웁니다.
각각의 OS별로 VSCode를 설치하는 방법을 살펴보고
Prettier 및 익스텐션을 설치하여 학습 준비를 합니다.
이 챕터에서는 리액트 애플리케이션을 최신 방식으로 시작하는 방법을 다룹니다. Create React App(CRA)을 대체하는 Vite 기반 개발 환경을 구성하며, 리액트 개발에 필요한 필수 설정을 익히게 됩니다.
CRA의 한계와 Vite의 장점 비교
Webpack과 Vite의 차이점과 생태계 흐름 이해
Vite를 활용한 빠르고 직관적인 리액트 프로젝트 세팅
스니펫과 유저 스니펫을 통한 코드 생산성 향상
초기 프로젝트 구조 정리와 npm run dev
실행 흐름 파악
또한, 리액트에서 가장 중요한 JSX 문법의 개념과 특징을 소개합니다. JSX가 어떻게 HTML과 JavaScript를 결합하는지, 어떤 문법적 특징이 있는지를 이해하면서 이후 컴포넌트 학습을 위한 기초를 다지게 됩니다.
리액트에서 컴포넌트는 UI를 구성하는 가장 작은 단위이자 핵심 개념입니다. 이 챕터에서는 컴포넌트가 무엇인지, 어떻게 동작하고 어떻게 구성되는지를 실제 코드와 함께 단계적으로 학습합니다.
컴포넌트란 무엇인가? 그리고 왜 중요한가?
함수형 컴포넌트의 작성 조건과 구성 방식
React.Fragment
를 이용한 불필요한 DOM 제거
새로운 컴포넌트를 만드는 방법과 폴더 구조 설계
루트 컴포넌트와 컴포넌트 트리 구조의 개념 이해
또한, 실습을 통해 직접 컴포넌트를 생성하고 적절한 위치에 배치하면서 컴포넌트 기반 설계에 대한 감각을 익히게 됩니다.
이 과정을 통해, 컴포넌트를 보는 눈이 달라지고, 이후의 복잡한 리액트 구조도 자연스럽게 이해할 수 있는 기반을 마련할 수 있습니다.
이제 리액트의 핵심 개념 중 하나인 Props(속성)를 본격적으로 다룹니다. 이 챕터에서는 컴포넌트 간에 데이터를 어떻게 전달하고 활용하는지를 다양한 예제와 실습을 통해 익히게 됩니다.
리액트에서 컴포넌트 간 관계 이해: 조상-부모-자식 구조
JSX 내에서 기본 타입과 참조 타입 데이터를 출력하는 방법
태그 속성에 값을 전달하는 기본 원리
Props를 통해 데이터를 전달하는 다양한 방식과 패턴
비구조화 할당을 활용한 props 분리와 가독성 향상
타입스크립트를 기반으로 props의 타입을 쉽게 추론하고 명확히 정의하는 방법
전개 연산자(...
)를 활용한 props 전달 방식 이해
children
이라는 특별한 prop을 활용한 컴포넌트 재사용성 확장
props
와 children
의 역할 차이 비교
이 챕터를 통해, 리액트 컴포넌트 간의 데이터 흐름을 자연스럽게 이해하고, 타입 안정성과 가독성을 동시에 고려한 props 설계 역량을 키우게 됩니다.
리액트 애플리케이션에서 이벤트 처리는 사용자와의 상호작용을 구현하는 핵심입니다. 이 챕터에서는 버튼 클릭부터 이벤트 전파까지, 리액트에서 이벤트를 어떻게 다루는지 체계적이고 실용적인 관점으로 학습합니다.
JSX 문법을 통한 이벤트 연결 방식
이벤트 속성과 이벤트 핸들러 함수의 작성 패턴
핸들러에 매개변수를 전달하는 다양한 방법과 추천 방식
핸들러 내부에서 props
를 읽는 흐름과 실전 예시
상위 컴포넌트에서 핸들러를 props로 전달하는 구조
이벤트 객체(SyntheticEvent
)의 구조 및 활용법
target
, currentTarget
의 차이점과 용도
이벤트 전파 개념: 버블링과 캡처링의 이해
이벤트의 기본 동작 차단 방법 (e.preventDefault())
마지막으로 버튼 컴포넌트를 직접 만들고, 다양한 이벤트를 처리하는 실습을 통해 이벤트 처리 패턴을 자연스럽게 내재화합니다.
리액트의 상태 관리는 컴포넌트가 사용자와의 상호작용에 따라 반응하고 변화하도록 만드는 핵심 기능입니다. 이 챕터에서는 useState
와 useReducer
를 중심으로 상태 관리의 개념, 활용법, 실전 적용까지 폭넓게 다룹니다.
상태가 필요한 이유와 상태값의 기본 개념
useState
훅의 기초적인 사용법부터 실전 적용까지
객체 및 배열 상태를 다룰 때 주의할 점과 리렌더링 동작 방식
setState
의 업데이트 방식과 함수형 업데이트
상태의 독립성 개념과 상태 끌어올리기(lifting state up)
캡슐화(encapsulation)를 통한 상태 관리 책임 분리
카운터 앱을 직접 만들어보며 상태 관리 실력을 점진적으로 강화
useReducer
를 이용한 복잡한 상태 로직의 구조화
reducer 패턴으로의 전환 및 실전 미션 수행
이 챕터를 마치면, 단순한 상태 변경부터 복잡한 데이터 흐름까지 안정적으로 관리할 수 있는 리액트 개발자로 한층 성장하게 됩니다.
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.
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
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.
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.
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
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'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 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.
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 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
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".
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.
input
, checkbox
, radio
, textarea
등 제어 컴포넌트 전반 실습
Understanding State-Connected Input Processing Flow and Re-rendering
🧩Mission: Implement Form UI Combining Various Control Inputs
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
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
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.
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.
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
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.
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.
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.
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 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
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
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.
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.
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
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
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.
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의 개념과 철학: “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
✅immer
for intuitive immutability management
✅devtools
integration for easy debugging
Reimplementing UserProfile
state based on Zustand
Experience the differences in code volume, intuitiveness, and scalability compared to Redux/Context
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.
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.
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
기본 요청 (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
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
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.
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.
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
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
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.
리액트 애플리케이션에서 라우터는 페이지 구조, 데이터 흐름, 사용자 이동 경험을 책임지는 핵심입니다.
이 챕터에서는 React Router v7의 최신 API들을 기반으로 SPA 구조를 설계하고,
라우팅 + 데이터 로딩 + 에러 핸들링까지 완전한 전환 흐름을 구축해봅니다.
기본 설치 및 라우터 설정
중첩 라우트, 인덱스 라우트, 레이아웃 라우트 구성
✅라우트 프리픽스, 동적/옵셔널 세그먼트, 스플랫 등 실무형 경로 패턴 학습
NavLink
, Link
를 활용한 UI 중심의 이동 제어
컴포넌트로 리액트 라우터 기반 폼 처리 이해
navigate()
함수를 활용한 프로그래밍 방식 이동 처리
✅전통적인 form 제출 방식과 라우터 기반 접근의 차이 체험
loader
속성을 통한 라우트 단위 데이터 패칭 흐름 설계
loader
에서 발생하는 비동기 요청 → 로딩 처리 → 에러 핸들링
✅loader + suspense
, loader + errorElement
등 실전 구조 구현
이 챕터를 마치면, 리액트 앱의 페이지 설계부터 데이터 흐름, 사용자 경험까지
전반적인 SPA 구조를 스스로 설계하고 운영할 수 있는 프론트엔드 설계력을 얻게 됩니다.
지금까지 학습한 컴포넌트 설계, 상태 관리, 데이터 통신, 사용자 경험 최적화, 인증 처리, 배포까지
모든 내용을 집약한 리액트 기반 풀스택 프로젝트의 완성 단계입니다.
이 챕터에서는 실제 서비스처럼 동작하는 블로그형 웹 애플리케이션을 직접 구현하고 배포까지 경험합니다.
MongoDB 설정 및 백엔드 API 연동
✅카카오 로그인 구현: 애플리케이션 등록부터 OAuth 플로우 전체 구성
✅자체 회원가입/로그인 구현: 폼 구성 + 서버 연동 + 상태 관리
토큰 인증, 에러 처리, 인증 흐름 디버깅 실습
게시글 등록 → 이미지 첨부 프리셋 연동
✅ 수정, 삭제, 상세 보기 기능까지 모든 CRUD 흐름 실현
댓글 작성, 삭제, 렌더링 로직 → 상태 연동 및 리렌더링 처리
✅백엔드 수정 내용은 강의 노트로 함께 제공
메인 게시글 목록을 페이지 단위로 불러오기
✅ 페이지네비게이션 컴포넌트를 직접 설계하여 실전 감각 강화
무한스크롤이 아닌 정형화된 페이징 처리 전략 이해
사용자 흐름에 맞춘 UI/UX 개선과 미비점 보완
✅ 프론트엔드 & 백엔드 각각 Vercel을 통한 실제 배포 실습
실 서비스 기준으로 도메인 구성, 이미지 최적화, 최종 점검까지
이 파이널 챕터를 마치면, 단순한 연습을 넘어
“스스로 사용자 인증 기반 웹 서비스를 구축하고 운영할 수 있는 개발자”가 됩니다.
강의를 통해 배운 모든 것을 완성된 하나의 서비스로 통합해보며 실력을 검증하세요!
디자인이 적용되지 않은 실습만 빼고, 디자인이 적용된 것만 소개할게요!
디자인이 적용안된 예제까지 하면 수십개 +
이러한 밀도 높은 모든 예제들이 여러분들의 단계적인 학습을
완벽하게 도와줄 것이라고 자신합니다.
누구에게나 인정받는 대작 게임이 나에게는 재미없을 수 있는 것처럼,
강의도 모두에게 똑같이 맞는 건 아닙니다.
아무리 칭찬이 자자한 강의라도 나와 맞지 않을 수 있고,
반대로 누군가에겐 평범한 강의가 나에겐 최고의 강의가 될 수 있죠.
그래서 제 모든 강의는 최소 10% 이상 무료로 공개되어 있습니다.
직접 들어보고, 저와 스타일의 ‘결’이 맞는지 확인해 보세요!
만약 저와 결이 잘 맞는다면,
프런트엔드 개발자로 가는 가장 빠른 지름길을 안내해 드리겠습니다.
믿고 따라오세요!🚀
Q. 진짜 아무것도 모르는 초보자입니다. 괜찮을까요?
A. 네. 정말 괜찮습니다. 아무것도 모르는 분들이 학습할 수 있게 구성한 맞춤 강좌입니다. 단, 학습에 사용되는 언어에 대한 최소 수준의 지식은 갖추어야 합니다.
Q. 선수지식이 필요한가요?
A. 네, 본 강좌는 반드시 HTML5/CSS3/JavaScript/TypeScript에 대한 선행 지식이 필요합니다.
운영 체제 및 버전(OS): Windows, macOS
사용 도구: 비주얼 스튜디어 코드(Visual Studio Code), 크롬(Chrome)
PC 사양: 웹 서핑이 가능한 수준의 최저 사양도 가능합니다.
실습 진행을 위한 강의별 학습 자료 제공합니다.
완전 비전공자, 초보자도 수강 가능
단, HTML5/CSS3/JavaScript/TypeScript에 대한 학습은 선행되어야 합니다.
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
4,372
Learners
202
Reviews
74
Answers
4.9
Rating
7
Courses
수코딩은 온라인과 오프라인을 병행하면서
코딩을 가르치는 활동을 하고 있습니다.
다년간의 오프라인 강의 경험을 바탕으로,
더 많은 사람들이 코딩을 쉽고 재미있게 배울 수 있도록
매일 고민하고, 끊임없이 노력하고 있습니다.
현재까지 다음과 같은 3권의 책을 출판하며
프런트엔드 강의 분야를 선도하고 있습니다:
또한, 유튜브 채널을 통해 다양한 무료 강의도 제공하고 있습니다.
👇 지금 바로 방문해 보세요
[유튜브 채널 링크]
All
316 lectures ∙ (26hr 50min)
Course Materials:
6. GoodBye CRA
04:20
8. Why Vite?
03:21
16. What is JSX?
02:23
21. React.Fragment
04:13
39. children
06:21
56. useState - 1
05:32
57. useState - 2
04:22
67. Lifting State Up
03:40
71. useReducer - 1
01:21
72. useReducer - 2
05:33
87. filter
06:06
89. Inline style
05:15
90. Global Style
04:52
91. CSS Modules
05:31
92. classnames
08:37
110. Image rendering
05:41
148. useId
03:25
155. React.memo
05:59
157. useCallback
05:56
159. useMemo
03:55
160. lazy
04:02
161. suspense
04:43
162. error-boundary
07:38
164. Context API
08:01
185. Redux Devtools
02:56
186. Redux Thunk
07:32
202. json-server
03:29
203. thunder client
07:19
208. fetch - 4 (신호)
04:22
209. fetch - 5 (비동기)
03:01
210. fetch - crud
10:01
211. axios - crud
08:57
212. axios - total
04:19
224. form action
06:28
225. useFormStatus
05:16
226. useOptimistic
03:47
229. use + suspense
01:46
231. error boundary
05:24
232. tip
03:42
272. Main - 1
08:11
273. Main - 2
06:45
274. Main - 3
04:11
275. Main - 4
06:54
276. Post Details
05:20
277. Edit Post
08:02
279. Post deletion
02:25
280. Post comments
08:53
285. Post List - 1
07:47
286. Post List - 2
06:00
287. Post List - 3
04:16
288. Post List - 4
03:40
289. UI changes
01:06
All
21 reviews
4.9
21 reviews
Reviews 5
∙
Average Rating 5.0
Edited
5
途中にミッションパートがあるので、自分で問題を解決できるか、どれくらい概念を理解したかを確認できて、本当に満足しています。 次の講義がとても楽しみです。早く出てほしいですね! 個人的に先生の講義スタイルなら、データ構造/アルゴリズム講義もうまく作られると思います。
こんにちは、熊コードさん! 温かいお言葉を本当にありがとうございます!ミッションパートがお役に立てたとのことで、やりがいを感じています。今後も学習に楽しさと達成感をお届けできるよう準備してまいります。データ構造/アルゴリズム講義についてのご意見も大切に参考にさせていただきます。次の講義もご期待にお応えできるよう一生懸命準備いたします!
Reviews 2
∙
Average Rating 5.0
5
Kind な話し方で集中力も良くてとても繊細なようですね
こんにちは、イングさん!温かいお言葉、ありがとうございます!集中して聞いてくださり、さらに励みになります。今後も繊細でKindな講義で、お役に立てるよう努力いたします😊
Reviews 4
∙
Average Rating 5.0
Edited
5
基本概念から短く短く説明してくださって本当に良いです いつも感じることですが、スコーディングさんの講義は「本を読んでくれる講義」だと感じます。テキストで読んだ時は難しいですが、言葉で解説して資料と一緒に見せてくださるので本当によく伝わってくるようです! 追加的に最近フロント技術面接の勉強を始めたのですが、講義にもこのような内容がよく盛り込まれていました。色々と有益な講義ありがとうございます。
貴重なフィードバックありがとうございます!テキストで難しい部分を分かりやすくお伝えできるよう、常に努力しています。今後も、よりお役に立てるよう、引き続き発展していきます!ありがとうございます 😀
$77.00
Check out other courses by the instructor!
Explore other courses in the same field!