169 похожих чатов

21 ответов

26 просмотров

потому что стейт асинхронный

Aleksei- Автор вопроса
zhanarys
потому что стейт асинхронный

Я лог выводил через сет таймаут, тоже самое

Aleksei- Автор вопроса
zhanarys
а ты попробуй через useEffect

Все таки не понятно, почему сет таймаут не работает.

стейт не меняет переменную а пересоздает и в твоем сет таймауте будет ссылка на старый обьект

Aleksei- Автор вопроса
Viktor Moskalev
стейт не меняет переменную а пересоздает и в твоем...

Ну понятно, я там и создаю новый объект и сетаю в стейт его, но консоль лог то почему берет старый объект?

Aleksei
Ну понятно, я там и создаю новый объект и сетаю в ...

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

Aleksei
Ну понятно, я там и создаю новый объект и сетаю в ...

const setState = (newState)=>{ const a =newState const render = ()=>{ console.log(a) setTimeout(()=>{ console.log(a) },[1000]) } render(); } setState(1); setState(2); что будет в консоли?

Aleksei- Автор вопроса

https://beta.reactjs.org/learn/state-as-a-snapshot И следующую тему читаешь

Aleksei
Ну понятно, я там и создаю новый объект и сетаю в ...

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

Yurii
Советую почитать про них на learn.javascript, у ме...

Стейт это снапшот текущего состояния, поэтому все новые значения видно только после ререндера

Qnemes Qnemes
Стейт это снапшот текущего состояния, поэтому все ...

Причём здесь стейт? Он за таймаут говорил

Yurii
Причём здесь стейт? Он за таймаут говорил

Какая разница лол, таймаут тоже новый в новом ререндере

Qnemes Qnemes
Какая разница лол, таймаут тоже новый в новом рере...

Его вопрос состоит в том почему таймаут логает старый стейт

Qnemes Qnemes
Стейт это снапшот текущего состояния, поэтому все ...

Стейт это и есть состояние. Состояние имеет снепшоты. Снепшоты это слепки во времени. Если в стейте будет int I = 0; затем будет I = 10. То получается 2 слепка. Где переменная I имела 0 и 10

Aleksei
Ну понятно, я там и создаю новый объект и сетаю в ...

Почитай про setState у реакта и про callback внутри setState((prevState) => ({ …prevState, }));

Yurii
Его вопрос состоит в том почему таймаут логает ста...

Та не, его изначальный вопрос вообще не о таймаутах, таймауты ничего не имеют общего со стейтом. Это чисто базовая работа стейта, которую Виктор Москалев уже ему обьяснил и привел отделный пример с сетТаймаутом.

Qnemes Qnemes
Та не, его изначальный вопрос вообще не о таймаута...

Я ответил ему на сообщение где он упомянул про таймаут, скоуп тайм-аута определён тем окружением с которого он был запущен в стэк

Похожие вопросы

Обсуждают сегодня

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
У меня вопрос попроще, почти нубский: нужно заставить сайт эво 1.4.34 перевести с PHP 7.4 на 8.2. Понятное дело, что дополнения обновить-проверить, а с основной системой как ...
Вячеслав Кузьменко
5
Карта сайта