Доброго всем времени суток! Нужно было повесить обработчик события на нажатие клавиши Enter. Походу дела я столкнулся с проблемой: элемент на который я вешал обработчик события на момент создания ещё не существовует. По итого всё было сделано через setTimeout:
function Typing_message() {
let messageField = React.createRef();
setTimeout(function () {
messageField.current.addEventListener('keydown', function (keyPress) {
if (keyPress.keyCode == 13) {
console.log('Enter press');
}
})
}, 1000);
return (
<div className={style.typing}>
<div className={style.typing__icon}>
</div>
<textarea ref={messageField} placeholder="Type your message..." name="" className={style.typing__field}></textarea>
<div className={style.typing__icon}>
</div>
<div className={style.typing__icon}>
</div>
</div>
);
}
Но это какая-то игра хреном по балалайке. Есть ли како-то более изящное решение?!??