что оно ругается на любую зависимость которая не добавлена в dependencies. Вот пример https://codesandbox.io/s/practical-cloud-mgjrls?file=/src/App.js
И если мы не добавим someLogic в зависимости, то при перендере функциии будут указывать на разные области памяти - текущий someLogic и предыдущий. Но если добавить, то придется оборачивать в useCallback эту someLogic.
Так вот, какие проблемы мы можем получить если функция someLogic в useEffect будет старой? count она выводит нормально. И так как оно в замыкании функции useEffect, то сборщик мусора ее не удалит. Есть ли смысл, чтобы все зависимости добавлять? Иногда получаются по 10 зависимостей, которые приходится оборачивать в useMemo и useCallback.
Не нужно писать логику в эффектах, и такой проблемы не будет. by design в зависимостях должны быть прописаны все ссылаемые значения, которые объявлены в контексте компонентов
а для чего тогда эффекты? Где логику писать?
В стейт-менеджере
Обсуждают сегодня