как получить доступ к функции обратного вызова в стратегии Facebook

Методы должны быть назначены с помощью цикла (в другом ответе уже упоминается):

for (const prop of ['_setDirty', /* ... */])
  this[prop] = this[prop].bind(this);

Использование стрелок вместо прототипов позволяет пропустить bind, но это единственное преимущество, связанные методы прототипа, как правило, предпочтительнее из-за их гибкости.

Поскольку React используется, можно с уверенностью предположить, что используется транспилер, поэтому проект не ограничивается ES6.

Декораторы могут быть удобно использованы в ES.Next-коде для связывания методов, например bind-decorator:

import bind from 'bind-decorator';

...
constructor(props: SignupProps) {
    super(props);
}

@bind
_setDirty() {...}
...

0
задан Himanshu Jotwani 19 January 2019 в 14:36
поделиться