2016-07-25 18 views
1

아래 예제에서, 해당 이벤트가 React에 없기 때문에 onComponentDidMount이 작동하지 않습니다. React.Component를 사용하여 Main을 다시 쓰고 싶지 않다면 어떤 이벤트를 사용해야합니까? 아니면 다른 방법이 있습니까? react-redux로 onComponentDidMount 이벤트에 연결하십시오.

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

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

Main = connect(null, mapDispatchToProps)(Main) 

답변

0

DOCS:

비 저장 기능은 구성 요소의 수명주기 방법이 없습니다.

0

상위 구성 요소가 구출됩니다. 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

이해하기가 다소 어렵습니다. 제 예제의 맥락에서 설명해 주시겠습니까? – galki

+0

당신은 이해할 수없는 부분이 있습니까? BTW에는 포크와 함께 놀 수있는 데모가 있습니다. –

+0

그래서 연결 대신이 코드를 사용합니까? – galki

관련 문제