Введение в курс 0:00 Курс «React путь самурая» охватывает базовые принципы работы с React. Обсуждение сложности и увлекательности темы. Упоминание о дальнейшем углублении в тему классовых компонентов.
Упаковка функций в объект 0:59 Задача: упаковать все функции и переменные в один объект. Создание объекта Store с приватным свойством state. Преобразование функций в методы объекта Store.
Рефакторинг методов 1:58 Удаление ненужных методов и переменных. Превращение методов в свойства объекта Store. Экспорт объекта Store вместо отдельных функций.
Импорт и использование объекта Store 2:57 Импорт объекта Store вместо отдельных методов. Обращение к методам через объект Store. Использование нижнего подчёркивания для обозначения приватных методов.
Получение состояния 4:54 Создание метода getState для получения состояния. Передача состояния как callback. Важность использования объекта Store для доступа к состоянию.
Инкапсуляция логики 6:54 Инкапсуляция логики работы с данными в методах объекта Store. Сокрытие деталей работы с данными от внешнего мира. Пример использования инкапсуляции при обновлении поста.
Уведомление подписчиков 8:51 Реализация функции notifySubscriber для уведомления подписчиков об изменениях. Подписчики могут быть различными: сервер, наблюдатель. Проверка корректности работы системы через рендеринг.
Анализ ошибки в JavaScript 9:47 Установка дебаггера на 40-й строке кода для отладки создания объекта. Обнаружение ошибки: «не могу прочитать свойства profile page undefined». Попытка понять причину ошибки через анализ цепочки вызовов.
Детальный анализ объекта 10:46 Проверка свойств объекта с помощью дебаггера. Описание структуры объекта и его свойств: get, subscribe, update, count. Подтверждение, что объект создан с помощью литерала объекта.
Контекст вызова методов 11:46 Объяснение концепции контекста вызова методов в JavaScript. Различие между контекстом вызова внутри метода и вне его. Важность понимания контекста вызова для корректной работы методов.
Проблемы с контекстом вызова 12:43 Анализ ошибки в другом методе: «profile не прочитался». Сравнение характеристик объекта в разных методах. Указание на сложность темы контекста вызова для новичков.
Примеры использования контекста вызова 14:39 Пример вызова метода getState от имени объекта store. Объяснение, как контекст вызова влияет на работу методов. Нарушение контекста вызова при использовании callback-функций.
Анализ контекста вызова в callback-функциях 16:38 Детальный анализ контекста вызова в callback-функции. Проверка, от чьего имени вызывается метод. Подтверждение, что метод вызывается от имени объекта props.
Решение проблемы с контекстом вызова 18:36 Объяснение проблемы с доступом к объекту внутри метода. Лайфхак: биндинг метода для сохранения владельца объекта. Рекомендация использовать биндинг для корректной работы методов.
Связывание методов 19:34 Метод связывается с автором или владельцем метода. Боинг не вызывает функцию id пост напрямую, а возвращает другую функцию. Важно понимать концепцию связывания методов.
Проверка и обновление страницы 20:33 Обновление страницы проверяет состояние state. Функции вызываются от имени с тором, что обеспечивает безопасность. Связанные функции не могут быть вызваны от другого имени.
Контекст вызова 21:29 Внутри контекста вызова сохраняется информация о том, как был создан объект. Объект имеет свойства state, call subscriber и другие. Закрытие объекта приводит к очистке всех его свойств.
Управление состоянием в React 22:28 React предоставляет возможности для управления состоянием. В больших приложениях state не используется из-за дублирования данных. Локальные компоненты используют state для сохранения незначительных данных.
Использование Redux в React 24:28 Для управления состоянием в соцсети используется связка Redux + React. Локальные компоненты сохраняют незначительные данные, которые не нужно передавать в Redux. Создаётся копия хранилища для понимания работы Redux.
Понимание работы Redux 25:26 Объясняется, как работает Redux внутри React. Цель — помочь разработчикам понять концептуальные аспекты работы Redux. Подчёркивается важность понимания работы Redux для будущих разработчиков.
Заключение 26:25 Благодарность за внимание и комментарии. Анонс более сложных тем в будущих выпусках. Призыв ставить лайки и подписываться на канал.