2017-12-23 8 views
2

내가 가지고있는 다음과 같은 구도 라이프 사이클 HOC : 나는 PARAMS와 HOC을 사용할 수 있도록하는 것입니다 싶습니다 무엇recompose, lifecycle HOC로 defaultParams를 설정하는 방법은 무엇입니까?

export default myHoc('x')(PageName); 

: 내가 지금처럼 내 부품이 HOC을 사용

import { lifecycle } from 'recompose'; 

export function myHoc(title) { 
    return lifecycle({ 
     componentDidMount() { 
      console.log(title) 
     } 
    }); 
} 

export default myHoc; 

과 같이 다음 HOC에서

export default myHoc({ 
    param1: "somevalue", 
    param2: "somevalue", 
    param3: "somevalue", 
})(PageName); 

그리고, PARAM1 설정 기본값 params가 2 & 3이 요구되거나 오류가 발생하는 것입니다 수 있습니다.

재구성주기는 가능합니까? 감사합니다.

+0

아니면 HOC에 props/params/properties를 전달하는 더 좋은 방법이 있습니까? 하나 이상의 필수 매개 변수가 누락 된 경우 HOC에서 오류가 발생한다고 생각합니까? – AnnaSm

답변

2

HOC 기능에서 매개 변수 소멸을 사용할 수 있습니다. 필요한 매개 변수가 제공되지 않은 경우 코드가 오류가 발생하도록하려면 오류가 발생할 수 있습니다.

export function myHoc({param1 = 'default', param2, param3}) { 
    if (!param2) { 
     throw new Error('param2 is required'); 
    } 

    if (!param3) { 
     throw new Error('param3 is required'); 
    } 

    return lifecycle({ 
     componentDidMount() { 
      console.log(param2); 
     } 
    }); 
}