Size: a a a

JavaScript.Ninja

2021 March 08

IK

Illya Klymov in JavaScript.Ninja
A V
так у меня же прописан stateCollections в массиве зависимостей.
Так вы же stateCollections и меняете
источник

AV

A V in JavaScript.Ninja
потому что если я делаю setCollections(1), то все нормально
источник

IK

Illya Klymov in JavaScript.Ninja
A V
потому что если я делаю setCollections(1), то все нормально
Потому что примитивное значение проходит сравнение на ===
источник

AV

A V in JavaScript.Ninja
а, ну вот
источник

IK

Illya Klymov in JavaScript.Ninja
Но от этого подход не становится правильнее
источник

AV

A V in JavaScript.Ninja
то есть это вообще концептуально неправильно, модифицировать стейт, от которого зависит useEffect? даже если он примитивный?
источник

IK

Illya Klymov in JavaScript.Ninja
A V
то есть это вообще концептуально неправильно, модифицировать стейт, от которого зависит useEffect? даже если он примитивный?
Да, иногда это надо, но стоит этого избегать
источник

IK

Illya Klymov in JavaScript.Ninja
Как видите вы легко падаете в бесконечный цикл
источник

IK

Illya Klymov in JavaScript.Ninja
И это ожидаемо и правильно
источник

AV

A V in JavaScript.Ninja
Понял, хорошо
А если я оставляю пустой массив зависимостей, это допустимо?
источник

AV

A V in JavaScript.Ninja
Ну так-то да, наверное
источник

IB

Igor Belogurov in JavaScript.Ninja
вы понимаете как хуки вообще устроены?
источник

AV

A V in JavaScript.Ninja
Спасибо за помощь, в любом случае!
источник

IB

Igor Belogurov in JavaScript.Ninja
в целом документацию по реакту открывали?)
источник

AV

A V in JavaScript.Ninja
Igor Belogurov
вы понимаете как хуки вообще устроены?
ну вот видимо не до конца, сейчас ещё один пробел закрыл
источник

IB

Igor Belogurov in JavaScript.Ninja
A V
ну вот видимо не до конца, сейчас ещё один пробел закрыл
источник

IK

Illya Klymov in JavaScript.Ninja
A V
Понял, хорошо
А если я оставляю пустой массив зависимостей, это допустимо?
Вы. Понимаете что означает пустой массив?
источник

AV

A V in JavaScript.Ninja
Illya Klymov
Вы. Понимаете что означает пустой массив?
Что useEffect будет вызван только один раз, так как нет переменных, от которых он зависит
источник

🅅🄺

🅅aleriy 🄺obzar in JavaScript.Ninja
A V
Что useEffect будет вызван только один раз, так как нет переменных, от которых он зависит
это по сути mounted
источник

🅅🄺

🅅aleriy 🄺obzar in JavaScript.Ninja
физически вызываться он может не один раз
источник