Właśnie zacząłem uczyć się React i JavaScript.
Podczas przechodzenia przez samouczek, dostałem się do tego przykładu kodu komponentu, który tworzy przycisk przełączania.
Jest to część kodu:React setState + Skąd pochodzi "prevState"?
class Toggle extends React.Component {
constructor(props) {
super(props);
this.state = {isToggleOn: true};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState(prevState => ({ // prevState?
isToggleOn: !prevState.isToggleOn
}));
}
2 rzeczy, które są podsłuch mnie tutaj:
- Skąd
prevState
argumentem pochodzi?
Przed wywołaniem nie widzę czegoś takiego jakvar prevState = this.state;
, a mimo to działa. - Składnia funkcji strzałki: dlaczego nawiasy za strzałką?
Dlaczego nie działa tutaj zwykła składniaarg => { statement; }
?
Przepraszam za pytania początkujących ...
Pojedyncza funkcja linia strzałka nie wymaga {}, ale może być stosowany jako taki. 'prevState' jest po prostu parametrem wywołania zwrotnego, jest przechowywany natywnie w reakcji –