"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Compreendendo React.memo: Otimizando Componentes Funcionais

Compreendendo React.memo: Otimizando Componentes Funcionais

Publicado em 2024-11-08
Navegar:246

Understanding React.memo: Optimizing Functional Components

React.memo é um componente de ordem superior usado no React para otimizar o desempenho, evitando novas renderizações desnecessárias de componentes funcionais. Ele funciona memorizando o resultado de um componente e somente renderizando-o novamente se seus adereços mudarem. Isso é útil para otimização de desempenho em componentes funcionais que renderizam a mesma saída com os mesmos adereços.

Exemplo de uso:

import React from 'react';

const MyComponent = ({ count }) => {
  console.log('Component re-rendered');
  return 
Count: {count}
; }; export default React.memo(MyComponent);

Neste exemplo, MyComponent só será renderizado novamente se a propriedade count for alterada. Se o componente pai for renderizado novamente, mas a propriedade count permanecer a mesma, MyComponent não será renderizado novamente, reduzindo cálculos desnecessários.

Por padrão, React.memo realiza uma comparação superficial de adereços, mas você também pode fornecer uma função de comparação personalizada para verificações mais profundas, se necessário:

const MyComponent = React.memo((props) => {
  /* component code */
}, (prevProps, nextProps) => {
  // return true if props are equal, false otherwise
  return prevProps.someValue === nextProps.someValue;
});

Isso pode otimizar ainda mais o desempenho quando você tem estruturas de suporte mais complexas.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/imyusufakhtar/understanding-reactmemo-optimizing-funcional-components-31ln?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3