Middle
Miks elutsüklimeetodid ei saa määratleda noolefunktsioonidega?
sobes.tech AI
Vastus AI-lt
Klassikomponendid Reactis ei tohiks määratleda elutsükli meetodeid noolefunktsioonidega, kuna see põhjustab this sidumise jooksvale kontekstile (tavaliselt globaalsele või undefined rangelt režiimis), mitte komponendi eksemplarile. React kutsub neid meetodeid kindla this kontekstiga, mis peaks viitama komponendi eksemplarile, et pääseda ligi props, state ja komponendi meetoditele.
class MyComponent extends React.Component {
// Õige: 'this' on komponendi eksemplar
componentDidMount() {
console.log(this.props);
}
// Vale: 'this' ei ole komponendi eksemplar, kui React kutsub seda
componentDidUpdate = () => {
// Siin on 'this' seotud kontekstiga, kus on defineeritud noolefunktsioon,
// mis tõenäoliselt ei ole komponendi eksemplar Reacti kutsumisel.
console.log(this.state);
}
}