2016-06-17 4 views
6

상위 키워드에서 함수를 호출하는 데 super 키워드를 사용할 수 있다는 것을 알고 있습니다. 그러나 아래 예제에서 super 키워드를 사용하는 이유는 분명하지 않습니다. 생성자에 전달되는 모든 소품을 전달하면됩니다.왜, ES6 클래스 생성자에서 super (props)를 사용해야합니까?

누군가 ES6 클래스 생성자에서 super 키워드를 사용하는 여러 가지 이유로 반응 할 수 있습니까?

constructor(props) { 
    super(props); 

    this.state = { 
     course: Object.assign({}, this.props.course), 
     errors: { } 
    }; 

    this.updateCourseState = this.updateCourseState.bind(this); 
    } 
+0

클래스 선언을 보는 것이 도움이됩니다. 예 : 'class SpecialDialog extends Dialog {' –

답변

20

super를 사용하면 상위 클래스의 생성자 메소드에 액세스 할 수 있습니다. 소품을 포함하는 유일한 이유는 생성자 내부에서 this.props에 액세스하는 것입니다.

What's the difference between "super()" and "super(props)" in React when using es6 classes?

+0

정말 고마워. 그건 내 질문에 대한 답. – matthewalexander

+0

누군가 조금 더 확장 할 수 있습니까? 그래서'React.Component'는 자체적 인 생성자 메소드를 가지고 있습니다. 우리는'super()'를 사용하여 그것을 트리거 할 수 있습니까? – corysimmons