так как изменение состояния через собственный setState вызывает перерендер, то тут его не будет. Не будут отслеживаться ссылки.
Но тут и нет рендера никакого.
Кстати, третья ошибка, наверное) рендер же обязательный
рендер у родителя
Тут на самом деле реакт глубоко знать не обязательно, достаточно знать что setState это метод API React и его модификация является манки-патчингом, Должен ли CollapsibleScrollable знать о реализации класса Scrollable, определенно что нет, но он влияет на его работу. Так же как и класс Scrollable не знает о том, что кто-то его унаследует и будет модифицировать API реакта, которому он доверяет. У CollapsibleScrollable есть интерфейс как с ним взаимодействовать и это то, что он ожидает и контролирует. Если вы вдруг пришли из ООП и захотели унаследовать компонент, значит вам нужна композиция. https://ru.reactjs.org/docs/composition-vs-inheritance.html
Обсуждают сегодня