Middle
Ինչու՞ չեն կարող սահմանվել կյանքի ցիկլի մեթոդները սլաքային ֆունկցիաներով:
sobes.tech AI
Պատասխան AI-ից
React դասական կոմպոնենտներում կյանքային ցիկլի մեթոդները չպետք է սահմանել սլաքային ֆունկցիաներով, քանի որ դա կապում է this-ը ընթացիկ կոնտեքստին (հաճախ գլոբալ կամ undefined խիստ ռեժիմում), և ոչ կոմպոնենտի օրինակին: React-ը այդ մեթոդները կանչում է որոշակի this կոնտեքստով, որը պետք է ցույց տա կոմպոնենտի օրինակին՝ հասնելու համար props, state և կոմպոնենտի մեթոդներին:
class MyComponent extends React.Component {
// Ճիշտ՝ `this`-ը կլինի կոմպոնենտի օրինակ
componentDidMount() {
console.log(this.props);
}
// Սխալ՝ `this`-ը չի լինի կոմպոնենտի օրինակ React-ի կանչի ժամանակ
componentDidUpdate = () => {
// Այստեղ `this`-ը կապված է կոնտեքստի հետ, որտեղ սահմանվել է սլաքային ֆունկցիան,
// ինչը հավանական է, որ չի լինի կոմպոնենտի օրինակ React-ի կանչի ժամանակ:
console.log(this.state);
}
}