Repository files navigation
Настройка среды разработки и первое React-приложение
Создан проект
Настроены package.json и webpack.config
Установлен webpack-dev-server
Создано простейшее React-приложение с использованием функциональных компонентов
Жизненный цикл React-компонента
Разобран жизненный цикл компонентов на примере App и Child
Созданы компоненты MessageField и Message
Реализована отправка сообщений по нажатию кнопки
Реализован ответ от робота
Продолжаем погружение в React и подключаем UI-библиотеку
Подключён Material-UI
Сделана первичная вёрстка, явно выделено поле для сообщений
Визуально разделены сообщения от пользователя и ответы робота
Добавлена возможность ввода текста сообщения и его отправки
Роутинг в React: разбиваем мессенджер на чаты
Подключён BrowserRouter
Создать верхний компонент Router
Приложение разбито на чаты с помощью роутера (URLs: /chat/<chat_id>/)
Реализовано хранение сообщений в словаре с id в качестве ключа
Реализовано хранение чатов в словаре (chatId: {title: название, messageList: массив из id сообщений})
Redux. Управление состоянием приложения
Подключён Redux
Подключено расширение Redux DevTools
Созданы action-ы отправки сообщения и добавления чата
Чаты перенесены в Redux
Redux middlewares, подключение роутера к Redux и хранение данных с помощью Redux-persist
Подключены middlewares
Логика ответа от робота перенесена в middleware
Router подключён к Redux
Переходы между чатами реализованы при помощи функции push()
Подключён redux-persist
Реализовано сохранение сообщений и чатов с помощью redux-persist
Подключён redux-api-middleware
Организована загрузка чатов и сообщений через API
Реализовано выделение сущностей (чатов и сообщений) с помощью normalizr
Подключён service-worker
Добавлен Web App Manifest и иконки
Реализовано всплывающее окно для iPhone с предложением установить приложение на домашний экран
Добавлен скрипт отслеживания установок
Реализована подписка на push-уведомления
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.