Менеджмент состояния в React без Redux – когда хватает useReducer, useState и useContext

⚡ Получить весь курс (22 урока) сразу: https://boosty.to/friendly-frontend/p... ✏️ Разберём менеджмент состояния без Redux на примере To Do List: покажу, где у нас живут данные и UI-мелочи, почему разрозненные setTasks в обработчиках опасны (устаревший снимок, лишние ререндеры), и как это чинится. Коротко объясню, что такое useReducer и зачем он нужен именно здесь. Переложим массив задач с useState на useReducer, опишем простые экшены (SET_ALL, ADD, TOGGLE_COMPLETE, DELETE, DELETE_ALL) и заменим setTasks на dispatch в addTask, toggleTaskComplete, deleteTask, deleteAllTasks. Оставим асинхронщину с сервером (tasksAPI) снаружи редьюсера: сначала ответ, потом dispatch. Почистим зависимости useCallback, чтобы обработчики не висели на tasks. Оптимизируем контекст: мемоизируем value в TasksContext через useMemo. Ускорим список: обернём TodoItem в React.memo. В конце зафиксируем простые правила — когда брать useState, когда useContext, и когда подключать небольшой useReducer. Всё — без сторонних библиотек и без ломки существующего кода. ❤️ Ранний доступ к видео и доступ к закрытому чату: https://boosty.to/friendly-frontend 🔴 Timeline: ▶ 00:00 | Введение ▶ 00:39 | Текущее состояние проекта и проблематика ▶ 03:40 | useReducer ▶ 12:48 | Оптимизация контекста ▶ 14:50 | useState, useContext или useReducer – когда что использовать ▶ 17:09 | Заключение 📚 Ссылки из видео: ➖ Код на конец урока: https://github.com/aleksanderlamkov/t... 🧑‍💻 Основной телеграм-канал: https://t.me/AleksanderLamkov 💬 Коммьюнити-чат в телеграме (помощь новичкам): https://t.me/FriendlyFrontend 🗂️ Бесплатные курсы на канале: 🟠 HTML:    • HTML курс 2025   🔵 CSS:    • CSS курс 2025   🟡 JS:    • JavaScript курс 2025   🟢 A11y:    • Accessibility курс 2025   🗺 Frontend Roadmap:    • Frontend Roadmap 2024 | Что должен учить ф...   ⚪️ Мастер-класс по верстке для новичков:    • Адаптивная верстка сайта с нуля для начина...   🔘 Мастер-класс по верстке для продвинутых (БЭМ, SCSS):    • Вёрстка сайта с 0 до результата | HTML, БЭ...   ⚫️ Мастер-класс по верстке с практикой по JavaScript:    • Вёрстка сайта с нуля • HTML, SCSS, JS прак...   🔴 Мастер-класс по верстке на стеке JSX, SCSS, JS, Vite, Minista (SSG), БЭМ: https://stepik.org/a/228315 📌 Автор: ➖ Личный сайт: https://aleksanderlamkov.ru/ ➖ Telegram: https://t.me/AleksanderLamkov ➖ Boosty: https://boosty.to/friendly-frontend ➖ GetMentor: https://getmentor.dev/mentor/aleksand... ➖ Stepik (платные курсы и мастер-классы): https://stepik.org/a/228315 #frontend #фронтенд #react #reactjs

React Security: XSS Protection and Working with Sensitive Data. Search Fragment Highlighting
▶︎

React Security: XSS Protection and Working with Sensitive Data. Search Fragment Highlighting

Тестирование и отладка React-компонентов: React DevTools на практике
▶︎

Тестирование и отладка React-компонентов: React DevTools на практике

Кастомные хуки в React: как выносить логику в отдельные функции
▶︎

Кастомные хуки в React: как выносить логику в отдельные функции

China Just Built What TSMC Said Was Impossible
▶︎

China Just Built What TSMC Said Was Impossible

useState в React — всё, что нужно знать
▶︎

useState в React — всё, что нужно знать

Устраиваюсь кодером НЕ УМЕЯ кодить [ Пранк работодателей ]
▶︎

Устраиваюсь кодером НЕ УМЕЯ кодить [ Пранк работодателей ]

Маршрутизация в React без библиотек. Как реализовать переходы между страницами
▶︎

Маршрутизация в React без библиотек. Как реализовать переходы между страницами

Как задеплоить React-приложение на GitHub Pages
▶︎

Как задеплоить React-приложение на GitHub Pages

Why Does No One Use The Right React Hook
▶︎

Why Does No One Use The Right React Hook

What is REST API (http)? Soap? GraphQL? Websockets? RPC (gRPC, tRPC). Client-Server. The Complete...
▶︎

What is REST API (http)? Soap? GraphQL? Websockets? RPC (gRPC, tRPC). Client-Server. The Complete...

Самое опасное когнитивное искажение [Veritasium]
▶︎

Самое опасное когнитивное искажение [Veritasium]

Working with APIs in React. Connecting to a json-server and fetch requests: GET, POST, DELETE, PATCH
▶︎

Working with APIs in React. Connecting to a json-server and fetch requests: GET, POST, DELETE, PATCH

Архитектура React-приложения. Как структурировать проект. Методология Featured-Sliced Design
▶︎

Архитектура React-приложения. Как структурировать проект. Методология Featured-Sliced Design

Forms in React: Input Management and Simple Validation Without Third-Party Libraries
▶︎

Forms in React: Input Management and Simple Validation Without Third-Party Libraries

React 19 Crash Course for Beginners 2026 (Learn in 90 Minutes)
▶︎

React 19 Crash Course for Beginners 2026 (Learn in 90 Minutes)

How I Would Become a Programmer (If I Could Start All Over)
▶︎

How I Would Become a Programmer (If I Could Start All Over)

Learn useEffect In 13 Minutes
▶︎

Learn useEffect In 13 Minutes

Learn React Hooks: useRef - Simply Explained!
▶︎

Learn React Hooks: useRef - Simply Explained!

Learn React With This One Project
▶︎

Learn React With This One Project