2017-04-11 2 views
0

J'utilise un hoc pour envelopper un composant. Ce hoc distribue une action lorsqu'il est démonté. Pour ce faire, il appelle une méthode 'resetState'. Mais que faire si je veux appeler le même resetState() à un autre endroit dans le composant enveloppé. this.resetState ne fonctionne pas (logiquement), je ne peux qu'imaginer passer la fonction comme un accessoire à l'emballage.comment appeler une méthode wrapper en réaction

const resetAtUnmount = function (type) { 
    // return the function to be called by redux 'connect' 
    return function decorate(WrappedComponent) { 
    // return the final class 
    return class extends React.Component { 
     resetState() { 
     store.dispatch({ type }); 
     } 

     componentWillUnmount() { 
     this.resetState(); 
     } 

     render() { 
     return <WrappedComponent {...this.props} />; 
     } 
    }; 
    }; 
}; 

export par défaut resetAtUnmount;

+0

Utiliser l'action pour envoyer resetState – WitVault

Répondre

1

Il semble que vous ayez répondu à votre propre question. RéinitialiserState comme un accessoire: <WrappedComponent {...this.props} resetState={this.resetState} />