Skip to content

Instantly share code, notes, and snippets.

@VingeB0
Last active June 30, 2018 19:18
Show Gist options
  • Save VingeB0/414a50fa4bd5669503f4eff726eb3767 to your computer and use it in GitHub Desktop.
Save VingeB0/414a50fa4bd5669503f4eff726eb3767 to your computer and use it in GitHub Desktop.
react
Важное замечание: 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