При изучении чистых компонентов я не смог понять, как выполняется поверхностное сравнение между сложными объектами, например, объектом состояния.
В примере метод setTimeout использовался для обновления простого значениянапример, номер счетчика в объекте состояния, но значение было просто установлено на существующее значение. Насколько я понимаю, setState создает новый объект и не изменяет исходное состояние.
Таким образом, при поверхностном сравнении не было бы 2 разных объектов состояния, указывающих на 2 разные ссылки, даже если они содержат простое свойство с одинаковым значением, поэтому сравнение всегда должно показывать объекты как разные, ноВ примере сказано, что поскольку значения одинаковы, компонент не будет повторно отображаться, поэтому поверхностное сравнение не просто смотрит на ссылку на объект?