Deep comparison in PureComponent question
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 11.8k
- Forks
- 7.9k
- Ø Merge
- 1 T. 11 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
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?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Keine Datei, kein Test und kein Einstiegspunkt ist angegeben. Beginne mit der Prüfung des im Issue beschriebenen Verhaltens von PureComponent und shouldComponentUpdate und ermittle anschließend, ob das gewünschte Ergebnis ein React-API-Feature oder eine Dokumentation ist; das Issue ist nicht vollständig, bis dieser Umfang und die Akzeptanzkriterien vereinbart sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, react
- Bereich
- frontend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 18/100