Meine React-Komponente verfügt über eine Requisite, die eine Klasseninstanz basierend auf Daten aus dem Redux-Speicher ist.React-Klasseninstanzreproduktion verhindert die Verwendung von PureComponent
Der Grund dafür ist, dass es viel bequemer ist, mit diesen Daten mit einer Klasse und all ihren benutzerdefinierten Methoden (mehr als 50) umzugehen.
Ich kann nicht PureComponent als React verwenden immer berücksichtigen, dass diese Stütze geändert hat. Das Problem ist, dass die meisten meiner React-Komponenten mit diesem prop verbunden sind ...
Ich bin bewusst, Lösung wie erneut auswählen, aber dies würde bedeuten, zu viele (so viele wie meine Klasse hat benutzerdefinierte Methoden) Selektoren nur für die Manipulation dieser Daten.
Was würden Sie vorschlagen?
Mein redux wählen sieht wie folgt aus:
getStation(state) {
// some logic to fetch the right station
return new WeatherStation(state.services.stationList[i])
}
wo Weather ist:
class WeatherStation {
constructor (data) {
this.station = data
}
getId() {...}
// many more methods
}
und in meinen React Compoonent:
class MyComponent extends React.Component {
...
const mapStateToProps = (state, ownProps) => {
return {
station: getStation(state),
}
}
}
Können Sie relevante Teile Ihres Codes? –
Haben Sie ImmutableJS ausprobiert? – hawk
Würde auch gerne den Code sehen. Vor allem, wenn Sie Ihre Klasseninstanz erstellen. – jonahe