их ререндерит? у меня из за этого useeffect (()=>{}, []) на страницах всегда отрабатывает
идет рендер компонента - логично вообще-то
ну т.е. даже если будет useeffect зависеть от [errors] объекта то всё равно происходит вызов useeffect даже если этот объект в redux не меняется
Так когда вы уходите со страницы, компонент же анмаунтится
ну компонент “размонттировался” - следующий раз первый все равно маунт будет
т.е. даже если в useEffect есть зависимость то при первом рендере он будет вызывать useeffect верно?
Йеп, логично же
понял. спасибо.
Мне кажется надо в целом пересмотреть подход И для начала понять, чего необходимо добиться
да. я уже понял как выйти из ситуации. спасибо
при первом рендере происходит изменение пропа с "ничего" на "значение" я видел кастомные хуки типа useEffectExceptOnMount, который через usePrevious проверяет
но прикол в том что у меня useeffect зависит от useselector)
т.е. вот тут useeffect вызовется при смене страницы. хотя errors не меняетя
ну оно все равно срабатывает да. я хз для меня это было не супер логично когда-то, но что есть то есть
понял. ладно. спасибо
Так может вам и не нужен useEffect вовсе?
ну мне при появлении ошибок в сторе надо показывать алерт. как делать иначе?
ты должен понимать, что второй аргумент эффекта - это в парадигме реакта "оптимизация". то есть просто перф улучшение, чтоб не гонять зря код поэтому если оно выполняется чуть чаще - то типа все ок
понял. благодарю)
как один из вариантов - алерт должен лежать выше либо на уровне твоих роутов 🤷 чтобы не перерендероваться при изменении роута
сейчас так и сделаю)))
Обсуждают сегодня