🎙️ Дмитрий Бабин - Вам не нужен state менеджер (react, redux, zustand, reatom, state management)
А что такое state менеджер, как писать бизнес логику в react, можно ли писать логику на react без библиотек, эти и многие другие вопросы мы с вами поднимем в рамках этого доклада. Попробуем использовать разные библиотеки и сравнить их по многим критериям
github repo - https://github.com/debabin/no-holyjs-examples
mock-config-server - https://github.com/siberiacancode/mock-config-server
redux - https://redux.js.org/
reatom - https://www.reatom.dev/
Таймкоды ⌛️
00:00 Старт стрима
01:17 Вступление и приветствие
02:06 Вопросы и ответы
03:04 Подготовка к докладу
04:00 Структура доклада
05:01 Благодарности
07:03 Вопросы и ответы
08:42 Технические детали
12:35 Начало доклада
14:09 История создания доклада
16:52 Создание собственной конференции
17:50 О себе
18:49 Опенсорс и планы на будущее
21:00 Переход к докладу
21:58 Логотипы и статистика
23:22 Опрос и выводы
24:21 Проблемы и стереотипы
26:13 Тестирование и перформанс
29:43 Введение в стейт менеджмент
30:43 Примеры состояний в приложении
31:24 Определение стейт менеджмента
32:22 Примеры стейт менеджеров
34:00 Конкурентный режим и рендеринг
35:00 Синхронизация состояний
37:30 Введение в первый пример
38:30 Обзор формы авторизации
40:28 Дополнительные функции и логика
42:21 Инициализация проектов
43:20 Проблемы с библиотеками
44:13 Инициализация роутера
47:58 Реализация темы
49:45 Контекст и его значение
50:58 Оптимизация и контекст
52:09 Реализация формы авторизации
53:08 Модель и состояние в Redux
54:43 Саги и слайсы в Redux
56:32 Компоненты и их взаимодействие
57:43 Композиционное разделение в React
58:41 Проблемы с экосистемой и библиотеками
59:38 Преимущества и недостатки использования менеджеров
01:00:33 Проблемы с экосистемой редакции
01:02:32 Пример использования редакции
01:04:30 Создание фабрики для пи
01:05:29 Проблемы с экосистемой редакции
01:06:28 Преимущества и недостатки редакции
01:07:23 Экосистема библиотек и роутеров
01:08:24 Проблемы с формами и бизнес-логикой
01:11:37 Проблемы с реактом
01:12:36 Ошибки в мутациях
01:13:32 Лайф-сайл куков
01:14:26 Композиция компонентов
01:16:22 Проблемы с формами
01:17:22 Конфирмейшн форм
01:18:37 Проблемы с конфигурацией
01:20:11 Сравнение Redux и Saga
01:22:03 Итоги и масштабируемость
01:23:28 Читаемость кода
01:26:21 Тестирование
01:27:11 Введение в тестирование
01:29:05 Компонентные тесты
01:30:56 Проблемы с контекстом
01:33:46 Юнит-тесты
01:34:46 Проблемы с тестированием в React
01:36:43 Итоги по тестированию
01:37:43 Проблема Figma
01:39:01 Решение проблемы Figma
01:40:17 Проблемы с контекстом в React
01:42:15 Проблемы с мутабельностью контекста
01:46:42 Использование Zust
01:47:41 Реализация менеджера состояний
01:48:40 Подключение к React
01:49:40 Заключение о велосипедах
01:52:34 Перформанс и бандлы
01:53:33 Метрики и производительность
01:54:30 Масштабируемость и бизнес-логика
01:57:07 Итоги и размышления о state-менеджерах
01:58:04 Преимущества и недостатки различных подходов
02:00:56 SSR и серверный рендеринг
02:04:51 Вопрос о необходимости стейт-менеджера
02:05:51 Выбор стейт-менеджера
02:08:33 Проблемы с Redux и Context
02:10:45 Преимущества и недостатки Redux
02:12:12 Адаптация и оптимизация кода
02:14:10 Разделение бизнес-логики и вьюшек
02:16:33 Проблемы с бизнес-логикой и состоянием
02:18:57 Внешняя бизнес-логика и React
02:20:49 Вопросы и благодарности
02:24:26 Исполнение трека
Поддержка автора 🧊
boosty - https://boosty.to/siberiacancode
donatealerts - https://www.donationalerts.com/r/siberiacancode
Социальные сети 🔥
boosty: https://boosty.to/siberiacancode
telegram: https://t.me/siberiacancode
vk: https://vk.com/siberiacancode
youtube: https://www.youtube.com/c/SIBERIACANCODE
github: https://github.com/debabin
discord: https://discord.gg/UsM4F9h6hn
twitch: https://www.twitch.tv/siberiacancode