Uczę się reagować z docs, ale nie jestem pewien, co robi super()
w tym przykładzie. Zwykle nie potrzeba argumentów przekazywanych do tworzenia nowej instancji, a następnie wywołuje metodę konstruktora React.Component w celu włączenia tych argumentów do instancji? Co robi bez żadnych argumentów?co robi super() z dowolnymi argumentami?
class LikeButton extends React.Component {
constructor() {
super();
this.state = {
liked: false
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState({liked: !this.state.liked});
}
render() {
const text = this.state.liked ? 'liked' : 'haven\'t liked';
return (
<div onClick={this.handleClick}>
You {text} this. Click to toggle.
</div>
);
}
}
ReactDOM.render(
<LikeButton />,
document.getElementById('example')
);
super(), w większości języków opartych na klasie oznacza wywołanie konstruktora nadrzędnego. Więc byłoby wywołanie konstruktora React.Component. – Keith
Czy super konstruktor ma domyślne argumenty (domyślne lub inne), które pozwalają na zerowanie argumentów? Wygląda na to, że można to rozwiązać, patrząc na kod źródłowy. – Carcigenicate
Konstruktor React.Component ma jeden argument https://facebook.github.io/react/docs/reusable-components.html#es6-classes – Dionys