Это общий вопрос JS.JS bind(), мне нужны два «этих» контекста
В справочном листе, я хочу обрабатывать события через обратные вызовы. Вызываемая функция получает контекст вызывающего (события), который можно использовать для создания таких вещей, как this.getZoom().
onMoveend={this.moveend}
moveend(e){
// e is the event target
var zoomText = this.getZoom();
// this.setState({zoomText: zoomText}); <-- "this" is the map object, not the my React component.
}
Проблема в том же времени Мне нужен контекст реагирующего элемента, чтобы обновить состояние и вызвать другие методы.
Чтобы получить "this.getZoom()" обратный вызов не должен быть связан, чтобы достигнуть "this.setState (...)" Мне нужно связать обратный вызов с "этим".
Но как передать как caller, так и callback-контексты в качестве переменных для обратного вызова?
Возможно, проблема такого типа решена по-другому?
Смотреть это jsfiddle: https://jsfiddle.net/nf8k23s7/1/
Если я выяснить, как захватить контекст события, я бы мог сделать: moveend.bind (eventContext, это). и это решило бы проблему. – Aus