Просто потому, что VSCode linter предлагает это сделать, сделайте его лучшей практикой. Вы, мой друг, отлично справляетесь, только вызывая useEffect только и только тогда, когда вам требуется, в вашем случае, когда изменяется isProcessing, это идеальный способ оптимизировать и снизить нагрузку на обработку приложения.
Ваш случай 1: Добавление validate
Вы как-то правы, так как ссылка на функцию не изменяется, поэтому она не будет вызывать useEffect
Ваш случай 2: Добавление validationErrors
Это может быть большой проблемой, если ваша validate
функция модифицирует validationErrors
, так как она создаст большую цепочку validationErrors
модификации, которая приведет к бесконечному вызову useEffect
в некоторых особых случаях.
Такда, вы можете игнорировать это предложение. useEffect - действительно замечательная вещь, но с ней нужно быть осторожным. :-)