другой хук внутри useEffect не судьба?
Хуки по своей природе должны быть вызваны только во время рендера какого-либо компонента
А как тогда побороть проблему повторных вызовов хука при ререндере?
Нет, другого. Который я хочу вызывать в useEffect при определенных изменениях в стейте.
если у тебя есть потребность вызвать хук в хуке, то ты что-то делаешь неправильно
ну так зачем тебе хук, используй просто функцию
хуки и рендер вообще никак не связаны
а он функция и есть. Просто называется use…
Как по-твоему useState возвращает тебе одно и то же значение между разными рендерами и не путается с твоими другими компонентами?
между какими разными рендерами? useState отрабатывает один раз, дальше ты значения устанавливаешь set-функцией
Он сохраняет значение в текстовом файле, и потом считывает
между какими разными рендерами? useState отрабатывает один раз, а дальше ты всего лишь устанавливаешь нужное тебе значение set-функцией
Не пойму, это троллинг или ты реально так считаешь?
хук в хуке это норма, но вызов внутри колбэка useEffect это не хук в хуке
а мне именно это и нужно
я это и имел в виду
мало ли что нужно, не выйдет
на втором рендере useState уже не вызывается?
console.log поставь перед useState и посмотри в консоль сколько раз это там выведется, когда у тебя компонент ререндерится
useState вызывается всего один раз
что значит зачем, да или нет?
наверное для того чтобы извлечь текущее состояние и поместить в переменную. не?
нет. При втором рендере вызовется все то, что внутри return функционального компонента
И как это по-твоему происходит? Магически?
ну, ты совершненно неправ, что тут ещё скажешь
а текущее состояние от рендера к рендеру что, одно и то же?
ну подумай немножко! useState задает начальное значение, так он что, каждый рендер будет это значение задавать?!
при чём тут задавать начальное значение, и возвращать текущее? подумай немножко
Он задает начальное значение только когда текущего значения нет
я не понимаю ты что не можешь поставить лог в любом компоненте и посмотреть сколько раз он отрабатывает при ререндерах???
некогда, свою задачу сейчас надо решать. По потом я, конечно, попробую.
что значит некогда, это делается за секунд 10, а споришь ты уже тут минут 10
Если компонент ререндерился несколько раз, хук useState будет вызываться только один раз во время каждого ререндера. При первоначальном рендеринге компонента вызывается каждый хук, включая useState. Затем, если происходят последующие ререндеры компонента (например, из-за изменения состояния или пропсов), функция компонента выполняется снова, и хуки вызываются в том же порядке. Однако, хуки, такие как useState, не вызываются повторно во время ререндеров. Вместо этого, они используют внутреннюю структуру хука, чтобы сохранить состояние между ререндерами и возвращать актуальное состояние при каждом вызове функции компонента.
это тебе gpt акидал?
Если компонент ререндерился несколько раз, хук useState будет вызываться только один раз во время каждого ререндера. ..... Однако, хуки, такие как useState, не вызываются повторно во время ререндеров Ты это у чат джпт скопировал что ли?
ты сам подумать и уловить несостыковки между фразами "не вызывается" и "возвращает" уловить не можешь?
я честно не понимаю как вы нашли здесь пространство для спора, что вообще происходит в этой строке есть понимание? const [count, setCount] = useState(0);
вызов функции, которая возвращает массив с значением и функцией
на втором рендере что с этой строкой происходит?
Обсуждают сегодня