2017-04-11 66 views
0

我正在使用特別封裝組件。卸載時,此特定操作會分派一個操作。爲此,它調用一個'resetState'方法。但是如果我想在封裝組件的另一個地方調用相同的resetState()怎麼辦? this.resetState不起作用(邏輯上),我只能想象將這個函數作爲道具傳遞給包裝。如何在響應中調用封裝器的方法

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 default resetAtUnmount;

+0

使用操作來分派resetState – WitVault

回答

1

這聽起來像你回答了你自己的問題。通過resetState作爲道具:<WrappedComponent {...this.props} resetState={this.resetState} />