Это основной вопрос JavaScript, но тем не менее отправил меня на поиски в Google. На основании this article приведенный ниже код должен работать, однако я получаю ошибку event.target is not a function
в saveBubble
. Когда я пробую event
в отладчике, ошибка читается Uncaught: illegal access
. arguments
массив имеет необходимое событие, но почему он не работает, когда я звоню event
?Обработчик события компонента реакции - не может получить доступ к событию
export default class Bubble extends Component {
saveBubble(event) {
Bubbles.insert({
text: event.target.attr('value') // <- throws an error here
})
}
body() {
const { text } = this.props.bubble;
if (text) {
return text;
}
else {
return (
<input type='text' onBlur={ this.saveBubble.bind(this) }/>
)
}
}
render() {
return (
<div className='bubble-wrapper'>
<div className='body'>
{ this.body() }
</div>
</div>
);
}
}
Я думаю, что 'this' в' теле() 'функция не то, что вы думаете. Попробуйте привязать его в 'render()'. – ivarni
@ivarni В обоих 'saveBubble' и' body', 'this' является объектом Bubble –
Я также заметил, что если я попрошу о событии, он даст мне ошибку« Невыпущенный доступ ». Но если я попрошу event.target, похоже, это сработает. – stealthysnacks