2017-10-19 1 views
1

Pour pouvoir extraire des données pour le rendu côté serveur, il faut recommended pour configurer une méthode statique fetchData qui remplira le magasin Redux via des actions asynchrones.Comment accéder à la méthode statique en utilisant connect & HoC?

Lorsque vous utilisez connect, le composant est encapsulé et n'est accessible que par WrappedComponent. Cependant les méthodes statiques ne sont pas accessibles. Le problème est encore accentué lors de l'utilisation d'autres HoC, tels que reducerInjector. Quelle est l'approche recommandée?

Répondre

1

Des docs vous-redux réagiront voyez que connexion utilise hoistNonReactStatics (et si vous regardez dans le code source, vous trouverez dans connectAdvanced qui est ensuite prolongée par connecter). Donc, si vous utilisez connect, vous devriez toujours avoir accès à vos propres méthodes statiques. Toutefois, si vous utilisez d'autres HoCs, les méthodes statiques peuvent être copiées sur.

Une autre option est de rendre votre méthode statique fonction

export default myFunction =() => { /* do stuff */ } 

et l'importer où vous devez l'utiliser.

+0

Suite à votre réponse, je suis tombé sur ce qui suit: https://reactjs.org/docs/higher-order-components.html#static-methods-must-be-copied-over –

+0

Content de pouvoir aider! –