@Solevoy_2015

Как запретить рендер части компоненты?

const Parent = () => {

return (
<section>
//запретить рендер компоненты по причине: the parent component rendered
<Component/>
//есть такой вариант, но ищу решение без использования useMemo, скорее всего такой вариант требуется ресурсов
{useMemo(() => {
return <Component/>
}, [])
</section>
)
}
  • Вопрос задан
  • 239 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
Component должен быть React.memo

как вариант, можно написать
const componentElement = <Component/>;

const Parent = () => {

  return (
    <section>
      {componentElement}
    </section>
  );
};


почему этот странный и немного костыльный вариант не вызывает ререндер чилда при ререндере парента? Потому что так во время ререндера парента не создается новый элемент (переиспользуется старый объект componentElement). А ререндер чилда из-за ререндера парента возможен только при новом элементе. Такие дела.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы