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

21 ответов

43 просмотра

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

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
Та не, его изначальный вопрос вообще не о таймаута...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта