Допустим, у нас есть родительский компонент и несколько функциональных дочерних компонентов. Я хочу четко знать, выполняет ли повторный рендеринг родительский повторный рендеринг или нет.
Прочитав несколько статей, я узнал, что есть 3 способа обнаружения повторных рендеров. (Дайте мне знать, если есть другие способы.)
1. Поместите console.log
в дочерний компонент.
2. Используйте параметр мигания краски Chrome в настройках.
3. Используйте инструмент разработки React
Все ли эти способы верны, чтобы узнать, действительно ли компонент выполняет рендеринг? Потому что, похоже, с React.memo он работает некорректно.
Когда я обертываю дочерний компонент с помощью React.memo, он не печатает console.log
, когда родительский компонент выполняет повторную визуализацию, что является правильным. Но все же инструменты разработки chrome и react выделяют дочерний компонент, как если бы он был повторно отрисован.
CodeSandbox: https://codesandbox.io/s/bold-cloud-iv0rv ( Если мы добавляем новую машину, статический компонент по-прежнему будет выделен зеленым цветом, но в соответствии с Меморандумом он не должен перерисовываться.)
Теперь я сомневаюсь, что мигание краски работает неправильно или возникают проблемы с React.memo?