За последние пару месяцев я погрузился в React и создал несколько простых приложений. Одна концепция, которую я с трудом переваривала, - это концепция React State . Недавно я наткнулся на отличный учебник (который очень рекомендую), который четко объясняет это. В этой краткой статье я постараюсь обобщить наиболее важные концепции, которые я изучил, следуя руководству, чтобы оно могло быть полезно и для других :-)
В приведенном ниже коде мы создаем переменную (iceCreamFlavor) и присваиваем ей начальное значение «шоколад». Эта переменная отображается внутри нашего шаблона компонента с помощью фигурных скобок {iceCreamFlavor}. Можно было бы ожидать, что при нажатии на кнопку «Щелкните меня» вкус мороженого изменится с «шоколадного» на «клубничный» ... В конце концов, именно это и делает функция handleClick ...
const MyComponent = () => {
let iceCreamFlavor = "chocolate";
const handleClick = () => {
iceCreamFlavor = "strawberry";
};
return (
<div className="container-style">
<h2>Ice cream flavor</h2>
<p>{iceCreamFlavor}</p>
<button onClick={handleClick}>Click me</button>
</div>
);
};
Значение изменяется, но не отображается в компоненте. Почему это так?
Это связано с тем, что iceCreamFlavor не является реактивной переменной, и поэтому ее изменение не запускает React для повторного рендеринга шаблона компонента.
Чтобы сделать значение реактивным, нам нужно использовать ловушку useState, которая представляет собой особый тип функции.
Написав:
useState("chocolate")
«Шоколад» - это начальное значение, которое отображается внутри компонента с помощью фигурных скобок. Однако крючок еще не завершен. Для его доработки нам также потребуются:
const [iceCreamFlavor, setIceCreamFlavor] = useState(“chocolate”)
const Home = () => {
const [iceCreamFlavor, setIceCreamFlavor] = useState(“chocolate”)
const handleClick = () => {
setIceCreamFlavor("strawberry");
};
return (
<div className="container-style">
<h2>Ice cream flavor</h2>
<p>{iceCreamFlavor}</p>
<button onClick={handleClick}>Click me</button>
</div>
);
};
Пара замечаний об этом крючке:
import { useState } from “react”;
Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.
Тестирование — неотъемлемая часть разработки программного обеспечения. Это гарантирует, что код надежен, функционирует должным образом и снижает вероятность ошибок.
В современном гиперсвязанном мире системы СМИ играют ключевую роль в формировании общественного мнения и, следовательно, в демократическом принятии решений. В своем глубоком анализе политической экономии коммуникации ученый Роберт МакЧесни бросает вызов общепринятому мнению и представляет то, что он называет «пятью истинами» о СМИ.
Сколько раз вы, не задумываясь, выбрасывали пластиковую бутылку, стеклянную банку, алюминиевую банку или пакет экологически чистой энергии? Сколько раз вы хотели получить что-то взамен за их переработку? Если вы похожи на большинство людей, ответ, вероятно, много раз. Переработка часто рассматривается как хлопотное дело, рутинная работа или обязанность, не приносящая немедленных или ощутимых выгод.
То, что было старым, теперь снова новое, а то, что раньше было блестящим, теперь кажется скучным. Я не говорю о джинсах JNCO, которые вернулись среди крутых парней в центре города вместе с другими моделями конца 1990-х годов.
Во избежание двусмысленности будут использоваться следующие термины; Аутентификатор; Мобильный телефон, используемый для входа на веб-сайт; веб-сайт или приложение, которое пользователь использует для выполнения запроса на вход в систему; Поставщик, предоставляющий данную услугу, например