Sobes.tech
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);
  }
}