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

Почему мы должны использовать реактивный крюки?!

Удивительно, что по мотиву начать использование крючков, что вы думаете, что разница кода между классовыми и функциональными компонентами, которые могут начать использовать крюки?!. Теги от реагирования, крючки, компонентами, JavaScript.

Крючки 🤔 крючки 👀 крючки 🤨 какие крючки 🙄

Лично не может видеть лучший ответ, чем указанный в официальных реагированных документах 🤷

Крючки – это новое дополнение в реакции 16.8. Они позволяют вам использовать состояние и другие функции реагирования без записи класса.

МММ, не убежден еще 😏, почему мы должны даже стремиться заменить классы 🙄

Это не замена, а не рекомендация и новый способ написания более элегантного и аккуратного кода.

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

Я люблю эту часть😉

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

Теперь это может быть 🙃, 🤔 или 🤨 момент, но ждать ✋

Приложение UI является представителем текущего состояния приложения, с каждым изменением состояния приложения или реквизиты, которые мы получили новый новый визуализацию для нашего пользовательского интерфейса, со всем включенным внутри, все здесь означает все, что даже используемые обработчики событий. Все в пользовательском интерфейсе принадлежит точным конкретным визуализации с точными данными, (либо состояние или реквизиты) Отказ

Теперь, что 🙄?!

Проверьте этот фрагмент И давайте сделаем следующее …

  1. Выберите друга, затем нажмите Отправить msg.

Допустим, вы выбираете Адам Вы увидите Вы выбираете Adam. и через 3 секунды сообщение Привет Адам печатается, достаточно справедливо!

Примечание : 3 секунды, потому что мы используем Setimeate () ждать некоторое время, прежде чем печатать сообщение Отказ

  1. Выберите друга, затем нажмите Отправить MSG и до 3 секунд пройти, выберите другой друг и нажмите Отправить MSG снова 👩. 💻

Допустим, в первый раз вы выбрали Сара а потом Адам , Что случилось, с вашим первым кликом вы видите Вы выбираете Сара И как только вы снова нажимаете, это меняется, чтобы быть Вы выбираете ADAM , Но Через 3 секунды сообщение печатается Привет Сара , Ваш первый выбор , а через еще 3 секунды сообщения меняются, чтобы быть Привет Адам .

Мы согласны, что это правильное поведение и ничего ненормальное или жуткое не происходит здесь, но опять же нам нужно упорно, что это происходит потому, что функциональный компонент захват Представленные значения.

Мы можем подумать захват Как сохранение или сохранение данных и знает, что связано с тем, что не так в классовом компонент, давайте проверим этот фрагмент И повторите те же шаги, которые мы сделали выше …

Когда мы выбираем друга, скажем, Адам и до 3 секунд повторно повторно набрать другого друга, Сара , через 3 секунды мы не увидим наш первый выбор, вместо этого мы посмотрим наш последний выбор Привет Сара 😵

Давайте сделаем это шаг за шагом:

Как функциональные, так и классы компоненты доступа к выбранному значению от их реквизит , что это неизменный Не может быть изменен, но в компоненте класса реквизит доступны через Это , что это Musable Можно изменить, и это должно быть.

Таким образом, ценность реквизита будет напечатано в компоненте класса, взяты из нового Это На самом деле самый новый Это Отказ

решить 🔧 это, и сделайте компонент класса захват его ценности во время разных рендеров Мы использовали много подходов:

  • Сохранение значения реквизита в переменной😏
 let friend = this.props.friend 

Что не рекомендуется выбором, что, если у нас есть честный номер реквизитов или нам нужно даже доступа к функциям и государству, это будет настоящий беспорядок.

Используя этот способ, все необходимое подключено к определенному визуализации.

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

Надеюсь, это поможет, спасибо за чтение, и если у вас есть какие-либо вопросы или любая тема, которую вы хотите, чтобы я написал о том, что я буду рад помочь, а ваши комментарии и конструктивные ноты более чем приветствуют ❤ ️

Оригинал: “https://dev.to/nagwan/why-should-we-use-react-hooks-1aa8”