reactjs / reactjs/react.dev

Deep comparison in PureComponent question

Abierto
#3,909 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
JavaScript
Estrellas
11.8k
Forks
7.9k
Merge medio
1 d 11 h
PR fusionados (30 d)
11

Descripción

Hello team,

We have a base class for React components that we're beginning to use. It's like PureComponent but does deep comparison of JSON-like values (just objects, arrays, and primitives). The purpose is to avoid re-renders when inputs haven't changed, even when objects/arrays were reconstructed.

import React from 'react';
import { compareObj } from './deepCompare';

export default class PureDeepComponent extends React.Component {
    shouldComponentUpdate(newProps, newState) {
        return !(compareObj(this.props, newProps) && compareObj(this.state, newState));
    }
}

I was surprised that something like this wasn't included in React, and I'm wondering what the team's thoughts are -- was there a good reason for not doing something like this?

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

No se identifica ningún archivo, prueba ni punto de entrada. Empieza revisando el comportamiento de PureComponent y shouldComponentUpdate descrito en el issue y, después, determina si el resultado deseado es una funcionalidad de la React API o documentación; el issue no está completo hasta que se acuerden ese alcance y los criterios de aceptación.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, react
Área
frontend
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
18/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.