Чтобы захватить событие нажатия кнопки Enter в React, когда поле ввода находится в фокусе, вы можете использовать различные методы. Вот несколько подходов:
-
Использование события onKeyDown:
function handleKeyDown(event) { if (event.key === "Enter") { // Enter key was pressed // Perform your desired action here } } <input onKeyDown={handleKeyDown} /> -
Использование события onKeyPress:
function handleKeyPress(event) { if (event.key === "Enter") { // Enter key was pressed // Perform your desired action here } } <input onKeyPress={handleKeyPress} /> -
Использование события onSubmit в элементе формы:
function handleSubmit(event) { event.preventDefault(); // Prevent form submission // Perform your desired action here } <form onSubmit={handleSubmit}> <input type="text" /> <button type="submit">Submit</button> </form> -
Использование перехватчиков useRef и useEffect:
import { useRef, useEffect } from "react"; function MyComponent() { const inputRef = useRef(null); useEffect(() => { function handleKeyPress(event) { if (event.key === "Enter") { // Enter key was pressed // Perform your desired action here } } inputRef.current.addEventListener("keypress", handleKeyPress); return () => { inputRef.current.removeEventListener("keypress", handleKeyPress); }; }, []); return <input ref={inputRef} />; }