Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
State - это компонент который будет оборачивать всё наше приложение в контекст провайдер, для
того чтобы провайдить в него определённые функции. А ВООБЩЕ идея в том чтобы дать
возможность дочерним компонентам доступиться до родителя
Context - установка места в приложении где данный стейт вообще будет актуален
Virtual Dom -
история - каждый раз когда нужно искать, менять что-то в дереве - это пиздец по
производительности
мы создаём обычный джс объект который является копией дерева - и когда происходили
изменения в реакте - в первую очередь мы меняли что-то в объекте, а потом сравниваем джс и
хтмл дом и в итоге решаем данную проблему
Стейт
обычный объект с данными, он тут мутабл, его можно менять, и реакт за ним следит и отрисовует
новый интерфейс
Рефс
Мы создаём рефс с помощью функции из реакта и существует спец атрибут реф, и с помощью
этого мы получаем ссылку на определённый дом элемент
Это нужно в 3 случаях: фокус на элемент, выделить текст, взаимодействовать с анимацией, или со
сторонними библиотеками где нужно получить доступ к дом элементу.
Это джс фреймворк который предназначен для юнит тестирования и основан он на framework
jasmin
Если объект нужен для того чтобы просто что-то отрисовать - лучше юзать функциональные
(производительность),
В первую очередь реакт получает объект который мы передаём в сетстейт и он соединяет его с
новым, мы получаем новый стейт, и реакт берёт и создаёт новый виртуальный дом, и сравнивает
его с реальным домом, и меняет только их в интерфейсе.
Пропс - это параметры для дочернего компонента, его нельзя менять, однонаправленное
состояние
setEffect() - так же
В список нужно добавлять этот атрибут для того чтобы реакт мог менеджить состояния каждого
элемента в массив, в общем тут по ПРОИЗВОДИТЕЛЬНОСТИ
Вообще пришло от названия от одного из жизненых циклов, это значит, что компонент уже
внедрён в реальное дом дерево и он готов к работе.
Контролируемый - имеет стейт, или хук, например есть инпут - меняем значение и мы это
значение контролируем
Две вещи:
1) реакт добавялет только одно событие для корневого элемента, для того чтобы оптимизировать,
например, в приложении много обработчиков кликов, реакт добавляет один клик на приложение
и понимает сам по какому элементу произошёл клик.
2) когда получаем некоторый объект события, реакт предлагает свою обвёртку которая называется
синтетический ивент, и это спец. обвёртка вокруг события ивента которая предоставляет общий
АПИ для всех браузеров
Реакт - это инструмент для визуализации, при этом мы конечно можем передавать пропсы, стейт,
юзать контекст. Но когда сложное приложение - нужен ещё абстрактный слой для работы с
данными.
компонента
деревом
Что передавать setState, нужно передавать функцию, потому-что там юзается точно предыдущий
стейт.
Контейнер - как всё должно работать и взаимодействовать (стейт, поведение, свойства раздаёт)
1. Переиспользование кода
3. Управление props
Что делает shouldComponentUpdate и почему он важен
Это метод для оптимизации рендеринга, а нужно ли нам делать процесс рендеринга сейчас или
этого нужно избежать, возвращаем тру или фолс.
Простыми словами это компонент у которого можно реализовать ещё один пункт жизненного
цикла, КОМПОНЕНТДИДКЕТЧ
В общем проблемный компонент с ошибкой, чтобы не возвращать ошибки, а к примеру
обработчик ошибок
useState
eject в конфигурацию уже какую-то при создании проекта, и например настроить вебпак
shouldComponentUpdate
pureComponent
По умолчанию изменение стейта происходит синхронным путём, при этом бывают ситуации когда
нужно это сделать асинхронно
Реализовано это так что, в экшн криэйторах мы возвращаем не объект а функции с диспатчом, с
помощью чего мы модифицируем стейт.
LazyLOADING