Встречается на собеседованиях • сегодня
Зачем нужно связывание в React
Связывание (binding) в React необходимо для корректной работы `this` в методах компонента. В JavaScript `this` определяется в момент вызова функции, а не её объявления. Если метод передаётся как колбэк (например, в `onClick`), `this` теряет контекст и становится `undefined` (в strict mode).
**Пример проблемы:**
```jsx
class Button extends React.Component {
handleClick() {
console.log(this); // undefined без связывания
}
render() {
return ;
}
}
```
**Способы связывания:**
1. В конструкторе:
```jsx
constructor() {
super();
this.handleClick = this.handleClick.bind(this);
}
```
2. Стрелочная функция (сохраняет контекст):
```jsx
handleClick = () => {
console.log(this); // работает
}
```
3. Bind прямо в JSX (не рекомендуется, создаёт новую функцию при каждом рендере):
```jsx
```
Современные подходы (хуки, стрелочные методы) минимизируют необходимость ручного связывания.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы