@vaskadogana
Frontend developer

Есть ли разница, если использовать в React между, ()=> и this.bind(this)?

Вроде this работает как там, так и тут, только запись ()=> короче.
Спрашиваю потому что натолкнулся на рассуждение, что
this.func = this.func.bind(this)
лучше писать в constructor() чем в render(). т.к bind будет происходить каждый рендер (onClick = {this.func.bind(this))

думаю может и тут какой ньанс есть
  • Вопрос задан
  • 244 просмотра
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
лучше писать в constructor() чем в render(). т.к bind будет происходить каждый рендер (onClick = {this.func.bind(this))

Именно так и есть. То есть "уйдет больше памяти" , так как она будет расходоваться из-за постоянного определения новых (анонимных () => {...} ) функций.

Еще можете использовать плагин для babel: transform-class-properties и тогда сможете писать сразу так:
class BlaBla extends React.Component {
  myFuncWIthThis = () => {
     ....
  }
  render() {
    <button onClick={this.myFuncWithThis}>Click me</button>
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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