Тут я про hook'и чуть-чуть зацепил
Video с is coming soon...
🔥JSNN #11🔥
С помощью Redux Form реализована простая формочка с 5-ю полями. Дополнительные требования:
- Email должен заполняться автоматически по имени. Но при условии, что пользователь сам его не вводил.
- При переключении типа пользователя (сотрудник или нет) мы должны поменять тип телефона. Но введённый до этого телефон должен где запомниться, а поле очиститься. При переключении обратно, мы должны восстановить ранее введенный телефон.
- Должно проверяться по фамилии, не является ли клиент VIP. Обычно для этого ходят на сервер. Но для примера, просто происходит асинхронная проверка, что количество букв в фамилии делиться на 3.
Это сделано несколькими способами:
- React Lifecycle. Ветка lifecycle. Просто посмотрите, как там все плохо.
- Redux-Saga. Ветка saga.
- redux-observable. Ветка redux-observable.
- react-redux-rxjs. Ветка react-redux-rxjs. Не очень популярная, но очень классная библиотека.
- HOCs. Ветка hocs. Решение, которое мы используем в проде.
- Hooks. Ветка hooks. Свежее (на ноябрь 2018) решение от команды React.
- Tver.IO - Сообщество Тверских айтишников. You are welcome :)
- Пост об изменении lifecycle в React 17.
- Пост об неправильном использовании getDerivedStateFromProps.
- Видео с Talk from React Amsterdam Conference 2017 и статья на Hackernoon от Michel Weststrate (создателя MobX), о разделении представления и логики.
- Redux Middleware.
- RxJS 6.
- Развернутый ответ на stackoverflow, в чем отличие redux-observable и redux-saga.
- HOC - паттерн Higher Order Component.
- Выступление Тимофея Ткаченко "componentDidMount не нужен". Еще один способ избавиться от lifecycle