Middle
De ce nu se pot defini metodele ciclului de viață folosind funcții săgeată?
sobes.tech AI
Răspuns de la AI
În componentele de clasă React, metodele ciclului de viață nu trebuie definite folosind funcții săgeată, deoarece acest lucru va lega this de contextul curent (de obicei global sau undefined în modul strict), și nu de instanța componentei. React apelează aceste metode cu un anumit context this, care trebuie să indice către instanța componentei pentru a avea acces la props, state și metodele componentei.
class MyComponent extends React.Component {
// Corect: 'this' va fi instanța componentei
componentDidMount() {
console.log(this.props);
}
// Greșit: 'this' nu va fi instanța componentei la apelul de către React
componentDidUpdate = () => {
// Aici, 'this' este legat de contextul în care a fost definită funcția săgeată,
// ceea ce probabil nu este instanța componentei la apel.
console.log(this.state);
}
}