Khi nào cần truyền props cho super()?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
308 lượt xem
Reactjs senior

Một lý do duy nhất khi người ta cần truyền props cho super() là khi bạn muốn truy cập this.props trong constructor:

class MyComponent extends React.Component {
    constructor(props) {
        super(props);
        console.log(this.props);
        // -> { icon: 'home', … }
    }
}

Trường hợp nếu bạn không truyền:

class MyComponent extends React.Component {
    constructor(props) {
        super();
        console.log(this.props);
        // -> undefined
        // Props parameter is still available
        console.log(props);
        // -> { icon: 'home', … }
    }
    render() {
        // No difference outside constructor
        console.log(this.props);
        // -> { icon: 'home', … }
    }
}

 

Lưu ý rằng việc truyền hay không truyền các props cho super không ảnh hưởng đến việc sử dụng this.props bên ngoài constructor sau này.

 

{{login.error}}