Должны ли Custom React Hooks вызывать повторное рендеринг зависимых компонентов? - PullRequest
0 голосов
/ 28 мая 2019

Я только что создал пользовательский хук, который использует useState и useEffect для внутреннего использования.

Когда я импортирую этот хук в другой компонент функции React, назову его ComponentA, ComponentA, который будет рендериться всякий раз, когдасостояние в настраиваемом хуке изменяется.

Правильно ли, что ComponentA должен повторно выполнить рендеринг, когда используемые хуки возвращают новые значения?

См. комментарии в коде для дополнительного вопроса.уточнения.

код:

const ComponentA = props => {
  const myValue = useMyValue();

  // COMMENTS:
  // Whenever myValue returns a new value, ComponentA re-renders
  // This in turn will cause the useMyValue() function to run.
  // Seems unnatural with such a circular effect.
  // Is my suspicion unfounded? Is this how it should work?
}

1 Ответ

1 голос
/ 28 мая 2019

Пользовательский объект может рассматриваться как функция, которая просто выполняется внутри функционального компонента, и эффективно хуки, присутствующие в пользовательском объекте, передаются компоненту.Таким образом, любое изменение, которое обычно вызывает повторную визуализацию компонента, если код внутри пользовательской ловушки был напрямую написан в функциональном компоненте, приведет к повторной визуализации, даже если эта ловушка является пользовательской ловушкой.

...