2016-07-25 14 views
1

Im folgenden Beispiel funktioniert onComponentDidMount nicht, da dieses Ereignis in React nicht vorhanden ist. Angenommen, ich möchte Main mit React.Component nicht neu schreiben, welches Ereignis sollte ich verwenden oder gibt es einen anderen Weg?Reaction onComponentDidMount-Ereignis mit react-redux connect

let Main = ({myEventMethod}) => (
    <main onComponentDidMount={myEventMethod}> 
     ... 
    </main> 
) 

const mapDispatchToProps = (dispatch) => ({ 
    myEventMethod:() => {...} 
}) 

Main = connect(null, mapDispatchToProps)(Main) 

Antwort

0

DOCS:

Stateless Funktionen verfügen nicht über die Komponente Lifecycle-Methoden.

0

Komponenten höherer Ordnung kommen zu retten. Demo.

const withComponentDidMount = handler => Cmp => { 
    class WithComponentDidMount extends Component { 
    render() { 
     return <Cmp {...this.props}/> 
    } 
    } 

    WithComponentDidMount.prototype.componentDidMount = handler 

    return WithComponentDidMount 
} 

const Wrapped = withComponentDidMount(function() { 
    console.log('Mount') 
})(App) 
+0

Es ist ein wenig schwierig zu verstehen. Kannst du es bitte in meinen Zusammenhang stellen? – galki

+0

Welchen Teil verstehst du nicht? Übrigens gibt es eine Demo, mit der du abzweigen und spielen kannst. –

+0

Also benutze ich das anstelle von connect? – galki