Otimização de desempenho de reação

1. Reaja a problemas de desempenho

1 Quais são os princípios da otimização de desempenho do React?

  • Evite novas renderizações desnecessárias e minimize o número de renderizações de componentes
  • Use PureComponent ou shouldComponentUpdate para evitar renderização desnecessária
  • Evite cálculos ou operações complexas no método de renderização , que podem ser realizadas em outros métodos do ciclo de vida do componente
  • Use as ferramentas de desempenho fornecidas pelo React para análise e otimização de desempenho
  • Carregamento sob demanda com React.lazy e React.Suspense
  • Use a tecnologia de memorização para armazenar em cache os resultados dos cálculos e evitar cálculos repetidos
  • Use React.memo para comparar componentes superficialmente, evitando renderização desnecessária

2. Quais são os métodos de otimização de desempenho do React?

  • Use a função de ciclo de vida shouldComponentUpdate para evitar renderização desnecessária e melhorar o desempenho. O código de exemplo é o seguinte:

    class MyComponent extends React.Component {
          
          
      shouldComponentUpdate(nextProps, nextState) {
          
          
        return this.props.someProp !== nextProps.someProp;
      }
      render() {
          
          
        return <div>{
          
          this.props.someProp}</div>;
      }
    }
    

- Use componentes de ordem superior React.memo() para armazenar componentes em cache e evitar renderização desnecessária. O código de exemplo é o seguinte:

const MemoizedComponent = React.memo(MyComponent);

- Use os componentes React.lazy() e Suspense para carregar componentes lentamente para melhorar a velocidade de carregamento da primeira tela. O código de exemplo é o seguinte:

 const MyComponent = React.lazy(() => import('./MyComponent'));
 function App() {
    
    
   return (
     <div>
       <Suspense fallback={
    
    <div>Loading...</div>}>
         <MyComponent />
       </Suspense>
     </div>
   );
 }

- Use React.useCallback() e React.useMemo() para evitar chamadas de função e cálculos desnecessários e melhorar o desempenho. O código de exemplo é o seguinte:

function MyComponent({
     
      someProp }) {
    
    
  const memoizedCallback = React.useCallback(() => {
    
    
    // do something with someProp
  }, [someProp]);
  const memoizedValue = React.useMemo(() => {
    
    
    // do some heavy calculation with someProp
    return someResult;
  }, [someProp]);
  return (
    <div>
      <button onClick={
    
    memoizedCallback}>Click me</button>
      <div>{
    
    memoizedValue}</div>
    </div>
  );
}

- Use React.PureComponent para evitar renderização desnecessária e melhorar o desempenho. O código de exemplo é o seguinte:

class MyComponent extends React.PureComponent {
    
    
 render() {
    
    
   return <div>{
    
    this.props.someProp}</div>;
 }
}

3. Qual é o motivo para usar o shouldComponentUpdate no React?

- Qual o motivo para usar o shouldComponentUpdate no React?

No React, toda vez que o estado ou as propriedades de um componente mudam, o componente é renderizado novamente . No entanto, em alguns casos, as alterações no estado ou nas propriedades do componente não afetarão a exibição da IU do componente e ocorrerá renderização desnecessária neste momento, resultando em problemas de desempenho. Para resolver esse problema, o React fornece o método shouldComponentUpdate, que nos permite controlar manualmente se o componente precisa ser renderizado novamente.

Por exemplo, suponha que temos um componente de lista cuja fonte de dados é um array. Quando adicionamos um elemento a este array, o estado do componente da lista muda, fazendo com que o componente seja renderizado novamente. No entanto, como o componente de lista exibe apenas o conteúdo do array e não modifica o array, a nova renderização é desnecessária. Neste momento, podemos implementar o método shouldComponentUpdate no componente de lista para determinar se o estado do componente mudou. Se não houver alteração, retorne false para informar ao React que o componente não precisa ser renderizado novamente. Isso evita renderização desnecessária e melhora o desempenho.

4. Qual é o motivo para usar PureComponent no React? -

No React, a renderização de componentes é uma operação que consome relativamente desempenho. O React renderiza novamente os componentes quando seus adereços e estado mudam. Se os adereços e o estado do componente não tiverem mudado, mas o componente ainda for renderizado novamente, isso causará desperdício desnecessário de desempenho. Para evitar isso, PureComponent no React pode ser usado. PureComponent irá comparar automaticamente se os adereços e o estado do componente foram alterados no método de ciclo de vida shouldComponentUpdate.Se não houver alteração, o componente não será renderizado novamente, melhorando assim o desempenho.

Código de amostra:

import React, {
    
     PureComponent } from 'react';

class MyComponent extends PureComponent {
    
    
 render() {
    
    
   return <div>{
    
    this.props.name}</div>;
 }
}

Acho que você gosta

Origin blog.csdn.net/it_varlue/article/details/129953592
Recomendado
Clasificación