REACT: Как вы можете определить, какая переменная вызывает запуск componentDidUpdate()?

#reactjs #components #state #react-component

#reactjs #Компоненты #состояние #реагировать-компонент

Вопрос:

Я заметил, что мой компонент (родительский компонент) обновляется дважды после инициализации, и я пытаюсь выяснить, что является причиной этого. Есть ли способ узнать, какая переменная состояния отвечает за запуск componentDidUpdate?

Спасибо!

Редактировать: Вот некоторый контекст — После того, как пользователь заходит на мой сайт, он перенаправляется на панель мониторинга, содержащую 3 компонента HTML canvas, у которых нет пользовательских дочерних компонентов (только компоненты react bootstrap). Когда пользователь перенаправляется, вызывается componentDidUpdate() (как и ожидалось). Однако вскоре после первоначального вызова componentDidUpdate() вызывается снова (даже без взаимодействия с каким-либо из полотен или внесения каких-либо изменений).

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

Комментарии:

1. Можете ли вы добавить воспроизводимый фрагмент?

2. Devtools от React может показать вам, почему компонент обновлен. Это также может быть режим React Scrict, который дважды перезапускает что-либо.

3. Я добавил некоторый контекст к описанию заявки. Надеюсь, это поможет прояснить ситуацию!