React JS — это популярная библиотека JavaScript, упрощающая процесс создания пользовательских интерфейсов. Одной из причин его популярности является наличие крючков. Хуки — это функции, которые позволяют разработчикам использовать функции React в функциональных компонентах. Двумя наиболее часто используемыми хуками являются useState и useEffect.
В этом блоге мы рассмотрим основы хуков useState и useEffect в React JS и предоставим несколько примеров их использования.
Хук useState
Хук useState используется для добавления состояния к функциональным компонентам. Состояние — это объект, который содержит данные, которые могут изменяться с течением времени. До введения хуков состояние можно было использовать только в компонентах на основе классов.
Синтаксис использования хука useState следующий:
const [stateName, setState] = useState(initialValue);
Здесь «stateName» — это имя переменной состояния, «setState» — это функция, которую можно использовать для обновления переменной состояния, а «initialValue» — начальное значение переменной состояния.
Пример:
import React, { useState } from 'react'; function Counter() { const[count, setCount] = useState(0); return ( <div> <p>You clicked {count} times</p> <button onClick={() => setCount(count + 1)}> Click me </button> </div> ); }
В этом примере компонент «Счетчик» использует хук useState для добавления состояния к компоненту. Переменная состояния называется «count», и ее начальное значение устанавливается равным 0. При нажатии кнопки вызывается функция «setCount» с новым значением «count + 1», которая обновляет переменную состояния и запускает повторную проверку. - визуализация компонента.
использоватьЭффект Крюк
Хук useEffect используется для выполнения побочных эффектов внутри функциональных компонентов. Побочные эффекты — это действия, которые могут выполняться вне обычного процесса рендеринга компонентов, например получение данных из API или обновление заголовка документа.
Синтаксис использования хука useEffect следующий:
useEffect(() => { // side effect code }, [dependencyArray]);
Здесь первый аргумент useEffect — это функция, содержащая код побочного эффекта. Второй аргумент — это необязательный массив зависимостей, который указывает, когда побочный эффект должен быть повторно запущен. Если массив зависимостей пуст, побочный эффект будет запущен только один раз при первом монтировании компонента.
Пример:
import React, { useState, useEffect } from 'react'; functionUserInfo(props) { const [user, setUser] = useState(null); useEffect(() =>{ fetch(`https://jsonplaceholder.typicode.com/users/${props.userId}`) .then(response => response.json()) .then(data => setUser(data)); }, [props.userId]); if (!user) { return <p>Loading user information...</p>; } return ( <div> <h2>{user.name}</h2> <p>Email: {user.email}</p> <p>Phone: {user.phone}</p> </div> ); }
В этом примере компонент «UserInfo» использует хук useEffect для получения информации о пользователе из API. Побочный эффект срабатывает всякий раз, когда изменяется реквизит «userId». Если переменная состояния «пользователь» имеет значение null, отображается сообщение о загрузке. После получения информации о пользователе она отображается в компоненте.
Заключение
Хуки useState и useEffect — это мощные инструменты, которые позволяют разработчикам добавлять состояние и побочные эффекты к функциональным компонентам в React JS. Используя эти хуки, разработчики могут писать более краткий и выразительный код, при этом используя мощные функции React.