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.