Рубрики
Без рубрики

Введение в реактивный крюк

Благодаря суровой макадии введение в React Cooksas Bistance Bibreate Mibrary получает новые обновления, есть много вещей, которые также добавляются, и некоторые из них тоже устарели. REGENTJS становится все более сильным день за день из-за таких обновлений. Как разработчик, вам нужно держать себя

Автор оригинала: FreeCodeCamp Community Member.

в суровой макадии

Поскольку библиотека REVENTJS получает новые обновления, есть много вещей, которые также добавляются, и некоторые из них тоже устарели. REGENTJS становится все более сильным день за день из-за таких обновлений. Как разработчик, вам нужно держать себя в курсе новых функций, выходящих в каждой версии.

Вы слышали о реактивных крючках?

Ну, реагируют крюки, функция, которая доступна в Rect V16.7.0-alpha, Это что-то удивительное, о чем вы должны знать.

Вот тизер для реактивных крюков.

В приведенном выше коде Уместите это первый крючок.

Теперь давайте прыгнем в проблему, которая реагирует, будут решать крючки.

В конце концов, каждая новая функция вводится для решения проблемы. Вот список вещей, которые Официальный сайт RACT должен сказать о проблемах, которые будут решены.

Трудно повторно использовать государственную логику между компонентами

Многоразовое поведение не может быть прикреплено к компоненту реагирования. Хороший пример этого можно подключиться к магазину. Если у вас какой-то опыт реагирования, вы можете знать некоторые из моделей, таких как Рендер реквизиты и Компоненты более высокого порядка Это может быть удобно при решении таких проблем. Использование таких шаблонов компоненты должны быть реструктурированы для того, чтобы использовать их Code Chode, чтобы следовать и поддерживать.

С введением крючков, государственная логика может быть извлечена из компонента. Это позволяет ему быть проверенным независимо, и его можно повторно использовать.

Комплексные компоненты становятся трудно понять

Есть времена, когда компонент растет от небольшого состояния до неуправляемого состояния государственной логики.

Каждый метод жизненного цикла иногда содержит смесь несвязанной логики. Например, компонент может выполнять некоторые данные, выходящие через вызовы API в ComponentDidmount и ComponentDidupdate Отказ Однако то же самое ComponentDidmount Метод также может содержать некоторые из несвязанной логики.

Эта логика устанавливает слушатели событий с выполненным в ComponentWillunmount Отказ Связанный код, который меняется вместе, получает разделение. Неисправный код, который объединен в единый метод, приносит ошибки и несоответствия.

Мы часто встречаем ситуацию, когда мы не можем разделить большой компонент на более мелкие из-за государственных ценностей. Кроме того, их становится трудно проверить их.

Решить эту проблему, Крючки позволяют разбить один компонент на более мелкие функции на основе того, какие части связаны. Хорошим примером этого можно создать подписку или выборы данных , независимо от сплита кода на основе метода жизненного цикла.

Но как крючки действительно работают?

Вот кодовый фрагмент, который мы видели выше:

Ссылка на CodeSandbox.

Использование Уместите это крючок, о котором мы говорим.

Мы называем это внутри функционального компонента, чтобы добавить локальное состояние к нему. Реагирование сохранит это состояние между всеми повторными рендерингами. Уместите Возвращает пару, которая имеет Текущий Значение состояния и функция, которая позволяет обновить значение.

Вы можете вызвать эту функцию из обработчика событий или откуда-то еще. Это похоже на this.setState В классе React, но он совсем не сливается старого и нового государства.

Есть только один аргумент для Уместите это начальное состояние. В этом примере приведено выше, начальное состояние – 0 Потому что наш счетчик начинается с нуля. Обратите внимание, что в отличие от Это Государство здесь не должно обязательно быть объектом - однако это может быть объектом, если хотите.

Объявление нескольких переменных состояний

Раскрытие массива Синтаксис дает разные имена в государственных переменных, которые мы объявили, позвонив Уместите Отказ Эти имена не принадлежат к части Уместите API. Вместо этого отреагируйте, что если вы назовете много раз, вы делаете это в том же порядке во время каждого визуализации.

Эффект крюка

Работа с реагированием, вы, возможно, уже работали на выборах данных, подписки или вручную изменением DOM из компонентов React. Мы называем эти операции как «побочные эффекты» (или «эффекты» в короткие сроки).

Эффектный крючок, Useffect добавляет возможность выполнять побочные эффекты из функционального компонента. У него есть та же цель, что и ComponentDidmount , ComponentDidupdate и ComponentWillunmount в RACT CLOSS, но унифицированных в одном API.

Например, приведенные ниже компонент устанавливает заголовок документа после реагирования обновления DOM:

Ссылка на CodeSandbox.

Когда вы звоните в Useffect , вы говорите отреагируйте на работу функции «Effect» после смены промывки в DOM. Эффекты объявляются внутри компонента и, таким образом, имеют доступ к его реквизиту и состоянии. По умолчанию RECT управляет эффектами после каждого визуализации, что происходит- в том числе первый рендер.

Правила крючков

Крючки – это функции JavaScript, но у них есть два дополнительных правила:

  • Только звоните крючки На верхнем уровне Отказ Не пытайтесь вызвать крючки внутри петель, условий или вложенные функции.
  • Только звоните крючки Из компонентов функции RACT Отказ Не пытайтесь вызвать крючки из обычных функций JavaScript.

Ну, это быстрый взгляд на реактивный крюк. Для более подробного описания Следуйте по этой ссылке ниже:

Крючки на первый взгляд – React Библиотека JavaScript для построения пользовательских интерфейсов Reactjs.org.

Счастливое обучение! ? ?