USESTATE – это реактивный крюк, мы называем его внутри функционального компонента, чтобы добавить его локальное состояние. Между повторными рендерами реагируют на самом деле сохраняет состояние.
USESTATE возвращает пару
- 1. Текущее состояние
- 2. Функция, которая позволяет вам обновить.
Вот как вы объявляете const [age, setage.usestate (10);
Рассмотрим этот функциональный компонент, он обновляет возраст.
const Age = () => {
const [ age, setAge ] = React.useState(10);
// Onclick function to update the state
const updateAge = ()=> {
setAge(age => age + 1);
}
return (
);
}
Что происходит здесь, давайте обсудим
- Всякий раз, когда эта кнопка нажала функция UpdateAge, называется.
- Способ Setage называется, и состояние обновляется.
- Компонент оказывает.
- Usestate призван к обновленной стоимости государства.
Это восприятие очень Неправильный !! Лично у меня было такое же заблуждение. Чтобы очистить это и доказать эту точку зрения, я задам вам вопрос
Это когда-либо имело место для вас, что usestate крючок не обновляется немедленно?
Ответ на это потому, что они не делают никаких прямых изменений в объект штата, вместо этого они создают очередь для оптимизации производительности. Вот почему они не отражаются немедленно.
Rect.Usestate Создайте очереди для реактивного ядра для обновления объекта состояния компонента реагирования.
Таким образом, процесс обновления состояния реагирования является асинхронный по причинам эффективности. Вот почему изменения не испытывают немедленной.
С Rect.Usestate асинхронный теперь, как кто-то выполнит что-то после последействия реагирования изменен
const Age = () => {
const [ age, setAge ] = React.useState(10);
// Onclick function to update the state
const updateAge = ()=> {
setAge(age => age + 1);
}
// This part will act as a callback whenever state updated
React.useEffect(()=>{
if(age < 0){
alert("Age can't be less then 0, you dumb");
}
},[age])
return (
);
}
- 1. Только звоните крючки на верхнем уровне.
- 2. Вызов крючков из функций React
Спасибо за подшипник, я буду писать статьи, объясняющие каждый крюк, предоставляемый реагированием в предстоящих статьях, пожалуйста, следуйте, чтобы оставаться на связи.
Оригинал: “https://dev.to/amankumarsingh01/setstate-hook-simplified-24mp”