Распечатайте значение нажатой кнопки в React

Чтобы напечатать значение кнопки в React при ее нажатии, вы можете использовать различные методы. Вот несколько подходов:

  1. Использование состояния:

    • Создайте переменную состояния для хранения значения кнопки.
    • Определите функцию обработчика событий, которая обновляет состояние со значением кнопки при ее нажатии.
    • Отобразите кнопку и прикрепите обработчик события к событию onClick.
    • При каждом нажатии кнопки значение будет обновляться в состоянии и может быть распечатано соответствующим образом.

    Пример кода:

    import React, { useState } from 'react';
    function ButtonComponent() {
     const [buttonValue, setButtonValue] = useState('');
     const handleButtonClick = (value) => {
       setButtonValue(value);
     };
     return (
       <div>
         <button onClick={() => handleButtonClick('Button Value')}>Click Me</button>
         <p>Button Value: {buttonValue}</p>
       </div>
     );
    }
  2. Использование ссылки:

    • Создайте ссылку с помощью ловушки useRef().
    • Прикрепите ссылку к элементу кнопки.
    • Определите функцию-обработчик событий, которая обращается к значению ссылки и печатает его.

    Пример кода:

    import React, { useRef } from 'react';
    function ButtonComponent() {
     const buttonRef = useRef(null);
     const handleButtonClick = () => {
       console.log(buttonRef.current.value);
     };
     return (
       <div>
         <button ref={buttonRef} onClick={handleButtonClick}>Click Me</button>
       </div>
     );
    }
  3. Использование объекта события:

    • Определите функцию обработчика событий, которая принимает объект события.
    • Получить значение кнопки из объекта события и распечатать его.

    Пример кода:

    import React from 'react';
    function ButtonComponent() {
     const handleButtonClick = (event) => {
       console.log(event.target.value);
     };
     return (
       <div>
         <button onClick={handleButtonClick} value="Button Value">Click Me</button>
       </div>
     );
    }