Нет предупреждения eslint, когда ref отсутствует в зависимости useEffect - PullRequest
2 голосов
/ 13 февраля 2020

У меня есть одно сомнение по поводу ref в useEffect. Нужно ли добавлять его в зависимость?

const App = () => {
  const ref = useRef();
  useEffect(() => {
    //do something about ref
  }, []); //<-- ref is not here
}

приведенный выше код не выдает предупреждение eslint. ref освобожден в зависимости?

1 Ответ

2 голосов
/ 13 февраля 2020

Короткий ответ - да, вам не нужно добавлять ref в массив зависимостей.

Для более глубокого понимания вы можете прочитать Полное руководство по использованию эффекта Дана Абрамова. , Оттуда цитата, которая отвечает на ваш вопрос:

(Вы можете опустить значения контейнеров dispatch, setState и useRef из deps, потому что React гарантирует, что они будут stati c. Но это также не Больно указывать их.)

...