обернуто в memo и возвращает функцию с версткой (нет в зависимости header)
и имеется селектор который получает инфу о header
как только приходит новый header, он перерендывает ВСЁ.
Почему? Можно ли MyComponent не перерендывать (там же новых пропсов нету)
myComponent — это выражение, которое ты вычисляешь на каждом рендере
https://overreacted.io/react-as-a-ui-runtime/#inversion-of-control
понял и что тогда делать? Как правильно поступить? У меня внутри темплейта { View1 || View2} Каждый раз вызывается, каждый раз перерендывается, как это оптимизировать?
<MyComponent /> вместо {myComponent}
View 1 это const function = isView && <MyComponent/> View 2 это const function2 = switchCase на 10 разных компонентов
поэтому хз как тут заменить, идей вообще нет
я переписал свои 2 функции на компонент обертку, в котором эти 2 функции внутри и заюзал как <Component /> но этот <Component /> все равно рендерится когда меняться селектор
Ну так ты его мемоизируй :)
методы внутри него или сам компонент?
и я внутри него методы в memo обернул, и даже его записал как const componentWrapper = React.memo(Component)
Всё правильно обернул. Только с большой буквы. И вот этот враппед рендерь через <... />
Так и делаю, все равно перерендыр выполняется
Значит codesandbox.io
слишком много зависимостей, не реально выложить
не может быть из-за того, что этот компонент обернут другим который новые пропсы получает?
Выделение куска кода, который воспроизводит некорректное поведение — хороший навык, пригодится. Ну и обычно сам находишь ошибку в процессе
Обсуждают сегодня