У меня есть следующий ответ:
return (
<div className='App'>
<form onSubmit = {this.submit.bind(this)}>
<input
value = {this.state.input}
onChange = {(e)=> this.setState({input:e.target.value})}
type='text'
/>
</form>
<ul>
{items}
</ul>
</div>
);
Я пытаюсь переписать строку onChange как обычную функцию js и хочу использовать эту функцию console.info (e), а также setState. Это можно сделать?
Почему да. Да, это может быть сделано
чувак, ты вчера спросил об этом
Не уверен, что уже слишком поздно, но проверьте BabelJS, это именно то, что он делает: переносит ES6 в ES5. babeljs.io/repl.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


var self = this
return (
<div className='App'>
<form onSubmit = {this.submit.bind(this)}>
<input
value = {this.state.input}
onChange = {function(e) {
console.info(e)
self.setState({input:e.target.value})
}}
type='text'
/>
</form>
<ul>
{items}
</ul>
</div>
);
это должно работать
Спасибо. Почему это не определено в функции onChange - разве это не должно ссылаться ни на форму, ни на поле ввода?
Чтобы быть эквивалентной функции стрелки в вопросе, перед return должен стоять self.setState. Но для этого кода мы знаем, что setState ничего не возвращает, поэтому исключение return более наглядно.
благодарю за разъяснение. Вы знаете, почему this не определено внутри анонимной функции?
в событиях React это не относится к элементу dom, как в обычном html, если вы хотите получить доступ к элементу dom, вы должны использовать response refs
Наверное, но почему?