Mon composant React possède un accessoire qui est une instance de classe basée sur des données provenant du magasin redux.Réactualiser l'instance de la classe empêche d'utiliser PureComponent
La raison en est qu'il est beaucoup plus pratique de traiter ces données en utilisant une classe et toutes ses méthodes personnalisées (plus de 50).
Je ne peux pas utiliser PureComponent car React considère toujours que cet accessoire a changé. Le problème est que la plupart de mes composants React sont connectés à ce prop ...
Je suis conscient de la solution comme reselect mais cela signifierait avoir trop de sélecteurs (autant que ma classe a des méthodes personnalisées) seulement pour la manipulation de ces données.
Que suggéreriez-vous?
Mon redux sélectionnez ressemble à ceci:
getStation(state) {
// some logic to fetch the right station
return new WeatherStation(state.services.stationList[i])
}
où WeatherStation est:
class WeatherStation {
constructor (data) {
this.station = data
}
getId() {...}
// many more methods
}
et dans mon React Compoonent:
class MyComponent extends React.Component {
...
const mapStateToProps = (state, ownProps) => {
return {
station: getStation(state),
}
}
}
Pouvez-vous publier des parties pertinentes de votre code? –
Avez-vous essayé ImmutableJS? – hawk
Aimera aussi voir le code. Surtout quand vous créez votre instance de classe. – jonahe