Last active
June 30, 2018 19:18
-
-
Save VingeB0/414a50fa4bd5669503f4eff726eb3767 to your computer and use it in GitHub Desktop.
react
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Важное замечание: PureComponent нужно использовать только для так называемых presentational components, т.е. для тех компонент, которые НЕ обёрнуты в вызов redux connect(). | |
Функция componentWillMount, вместо которой предлагается использовать componentDidMount. | |
Функция componentWillUpdate, которую заменит componentDidUpdate. | |
Функция componentWillReceiveProps . В качестве заменителя этой функции предлагается новая статическая функция getDerivedStateFromProps. | |
В свете вышесказанного не стоит впадать в панику, так как эти функции всё ещё можно использовать. Уведомления о том, что данные функции устарели, появятся в React 16.4, а их удаление запланировано в 17-й версии React. | |
для пересоздания обьекта (не ререндер) можно поменять ключ, key + 1 и он пересоздастся | |
Life cycle component | |
1) mount (создание) | |
2) change (изменения которые происходят с компонентом) | |
3) unmount (уничтожение)" | |
first render component(инициализация) | |
- getDefaultProps - при инициализации класса | |
- getInitialState - когда компонент создан, первый вызывается, определяет начальное состояние | |
- componentWillMount(запускается на сервере) - метод, перед тем как компонент появиться в дом дереве, что-то сделать с компонентом до его рендера | |
- render - возвращает виртуальный дом | |
- componentDidMount(за прускается на клиенте, так как уже в доме) - вызывается после того как компонент есть в доме" | |
lifecycle component when props change(обновление) | |
- componentWillReceiveProps(nextProps) - когда компонент получит пропс, приходит обьект с нвоыми пропсами, еще не пришли но прийдут (nextProps) | |
- shouldComponentUpdate(nextProps, nextState) - возвращает тру или фолс, нужно компонент перерендить или не, еру надо, фолс нет, по умолчанию тру (nextProps, nextState), производительность можно не делать перерндре при помощи него, форс - то прекратили цепочку и дальше ничего не происходит, если тру то вызывается componentWillUpdate | |
- componentWillUpdate(nextProps, nextState) - вызывается перед рендером, сравнить как поменялись пропсы, провести подготовительные работы как компонент был обновлен (nextProps, nextState) | |
- render - рендер нового виртуал дерева | |
- componentDidUpdate - компонент уже обновился (prevProps, prevState), изменнеия уже все применены и можно спокойно дальше обращатся с жизнью компонента" | |
State change | |
2й способ вызова рендера, вызов рендера, при помощи вызова стейта, изменить стейт, тоже самое что и с пропсами методы" | |
- shouldComponentUpdate | |
- componentWillUpdate | |
render | |
- componentDidUpdate" | |
- componentWillUnmount | |
вызывается перед тем как компонент будет удален из дом дерева, произвести уборку - убрать ссылки" | |
Задача Реакта — построить дерево элементов и обновлять его когда обновляются стейт или пропы. | |
Рендерингом занимаются другие библиотеки: react-dom, react-native, redocx, react-tv и другие. | |
так как чистый редакс обновляет все приложение | |
позволяет соезденить отдельные компоненты с редакс сторем - при помощи connect | |
и provider который помогает передать сторе диспатч через все дерево | |
провайдером оборачивается все наше приложение | |
Отличие флак от редакт то что в флакс нужно делать куча сторев а в редакс он один | |
create react app | |
redux - один сторе и все время перендор всего апп из-за того что компоненту нужен сторе | |
редакс включает сторt (диспатч гетстейт и сайбсрайб) | |
на батн вешает диспатч, диспатч прингимает актион, в зависимости от актион выполняет действия, и сайбскрайб подписывается к стору, как только меняется переренлр всего аппа, из-за того что весь апп перерндр то покдлючаеь провайдер и конект | |
react-redux - помогает делать каждому компоненту ео отдельный сторе провайдер, а конектом оборачивает компоненты которые нуждаются в сторе | |
<provider store={} /> | |
connect это HOC, получает mapStateToProps и передает пропс | |
connect при помощи контекста передает, создает компонент новый который принимает пропс, и возвращает наш компонент с пропсами | |
hoc - ф-и позволяют оборачивать компонент новой ф-альностЮ , позволяют переиспользовать код и ооборачивтаь компонент для переиспользвоания |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment