Обычной практикой является bind
метод, созданный пользователем внутри React.Component
класса.
class App extends React.Component { // simplified example, not actual code
constructor(){
//...
this.logIn=this.logIn.bind(this) // Binding of a method
}
}
Естественно, это потому, что нам нужно явно bind
метод к "this class
", иначе мы будем ссылаться на this
объект window
!
Что мне, однако, непонятно, меньше всего из документации и т. Д., Которые я просмотрел, если мы используем встроенные методы жизненного цикла , такие как render()
или componentDidMount()
, большинство фрагментов кода, а также официальная документация кажутся явно неbind
до this
class App extends React.Component {
constructor(){
//....
this.componentDidMount = this.componentDidMount.bind(this)
// is there reason why we don't do this ^ ??
}
}
- Есть ли какая-то встроенная привязка уже внутри
React.Component
, который мы расширяем? - Или почему нам не нужно явно
bind
методы жизненного цикла (componentDidMount()
) , как и остальные наши созданные методы (logIn()
) ?