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

А как можно дождаться ответа и только после этого выполнять

действия?

10 ответов

14 просмотров

или как @solodov_dev или переходить на классовый компонент и там у setState есть колбек

Андрей-Кустов Автор вопроса
Victor Rusakovich
или как @solodov_dev или переходить на классовый ...

получается, что логику которая зависит от isDraggingProgress нужно переносить из функции в useEffect ?

Андрей Кустов
получается, что логику которая зависит от isDraggi...

получается, что да. Можно, конечно, не всю логику, а только вызов функции, где логика будет. Но это и логично - в одном месте меняешь стейт, в другом - ловишь эти изменения. Изменения стейта специально сделали асинхронной операцией, чтобы реакт мог оптимизировать последовательный вызов изменений стейта. Иначе было бы как в первом ангуляре.

Андрей Кустов
получается, что логику которая зависит от isDraggi...

В функциональных компонентах измененное состояние можно использовать только при следующем рендере. Текущий рендер захватывает свои пропсы и состояние и с ними остается навсегда)

Андрей-Кустов Автор вопроса
Victor Rusakovich
получается, что да. Можно, конечно, не всю логику,...

это конечно все круто ), но блин, не могу догнать, как мне функцию handleWindowMouseOrTouchMove засунуть в useEffect

Андрей-Кустов Автор вопроса
Yaroslav Sh.
useEffect объяви ниже и всё

не понял, ниже чего? я когда в useEffect размещаю функцию handleWindowMouseOrTouchMove, то она не попадает в область видимости где идёт вызов этой функции

Андрей Кустов
не понял, ниже чего? я когда в useEffect размещаю ...

вы хотите её в useEffect объявить или вызвать её там?

Андрей Кустов
Объявить

Нельзя объявлять функцию в useEffect а использовать снаружи т.к. useEffect происходит позже объявления компоненты и рендера её

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта