@leelusama
Junior Frontend developer

Как правильно сделать привязку к this в react?

import React from 'react';
import Counter from './components/Counter';

class App extends React.Component {
  state = {
    counter: 0,
  };

  render() {
    return (
      <main>
        <h1>React Camp</h1>
        <Counter
          title='Simple counter'
          counter={this.state.counter}
          handleIncrement={this.handleIncrement}
        />
      </main>
    );
  }

// ver 1
//  handleIncrement() {
//    this.setState((state) => ({ counter: state.counter + 1 }));
//  }

// ver 2
//  handleIncrement = () =>
//    this.setState((state) => ({ counter: state.counter + 1 }));
}

export default App;


Почему ver 1 не сработает, а ver 2 сработает?
Потому, что у стрелочной функции нет привязки к this и срабатывает замыкание?
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
Zhanna_K
@Zhanna_K
in progress
потому что стрелочные функции не содержат собственный контекст this
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kirbi1996
@kirbi1996
Переходи на функции, меньше кода, удобно. Тем более сейчас есть хуки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы