Obtener el valor del botón al hacer clic en los ganchos de reacción del botón

El hombre muerto

Ahora tengo dos botones. Me gustaría obtener el valor de un botón después de hacer clic en un botón.

Códigos de demostración en vivo y caja: obtener el valor del botón

He probado lo siguiente.

import "./styles.css";
import React, { useState } from "react";

export default function App() {
  const [position, setPosition] = useState("");

  const handleNextStep = (e) => {
    console.log("label", e.target.innerHTML);
    console.log("label", e.target.innerHTML);
  };
  return (
    <div className="App">
      <h1>Hello Click the buttons bellow</h1>
      <div className="btn-group my-3 d-flex justify-content-center align-items-center">
        <button
          type="button"
          className={`btn btn-sm mx-2  ${
            position === "BottomLeft" ? "btn-info text-white" : "btn-lightDark"
          }`}
          onClick={() => {
            setPosition(position !== "BottomLeft" ? "BottomLeft" : "");
            handleNextStep();
          }}
        >
          Bottom Left
        </button>
        <button
          type="button"
          className={`btn btn-sm mx-2  ${
            position === "BottomRight" ? "btn-info text-white" : "btn-lightDark"
          }`}
          onClick={() => {
            setPosition(position !== "BottomRight" ? "BottomRight" : "");
            handleNextStep();
          }}
        >
          Bottom Right
        </button>
      </div>
    </div>
  );
}
import "./styles.css";
import React, { useState } from "react";

export default function App() {
  const [position, setPosition] = useState("");

  const handleNextStep = (e) => {
    console.log("label", e.target.innerHTML);
    console.log("label", e.target.innerHTML);
  };
  return (
    <div className="App">
      <h1>Hello Click the buttons bellow</h1>
      <div className="btn-group">
        <button
          type="button"
          className={`btn btn-sm mx-2  ${
            position === "BottomLeft" ? "btn-info" : "btn-lightDark"
          }`}
          onClick={() => {
            setPosition(position !== "BottomLeft" ? "BottomLeft" : "");
            handleNextStep();
          }}
        >
          Bottom Left
        </button>
        <button
          type="button"
          className={`btn btn-sm mx-2  ${
            position === "BottomRight" ? "btn-info" : "btn-lightDark"
          }`}
          onClick={() => {
            setPosition(position !== "BottomRight" ? "BottomRight" : "");
            handleNextStep();
          }}
        >
          Bottom Right
        </button>
      </div>
    </div>
  );
}

pero me sale el error: react-dom.development.js:327 Uncaught TypeError: Cannot read property 'target' of undefined.

¿Que esta mal aquí?

codemonkey

Supongo que por "valor" te refieres a lo que hay dentro de las <button>etiquetas. En cuyo caso, necesita:

  const handleNextStep = (e) =>{
    console.log('label', e.target.innerHTML)
  }

Además, no estoy seguro de cómo lo conseguiría react-dom.development.js:327 Uncaught TypeError: Cannot read property 'target' of undefined. Debería obtener una cadena vacía o undefined.

Solo un nodo lateral: e.target.innerTexttambién funcionará.

Basado en la actualización

handleNextStep = (e) => { espera un par que no envía, por lo que solo necesita pasar el evento de clic a la función de proxy:

      <div className="btn-group">
        <button
          type="button"
          className={`btn btn-sm mx-2  ${
            position === "BottomLeft" ? "btn-info" : "btn-lightDark"
          }`}
          onClick={(e) => {
            setPosition(position !== "BottomLeft" ? "BottomLeft" : "");
            handleNextStep(e);
          }}
        >
          Bottom Left
        </button>
        <button
          type="button"
          className={`btn btn-sm mx-2  ${
            position === "BottomRight" ? "btn-info" : "btn-lightDark"
          }`}
          onClick={(e) => {
            setPosition(position !== "BottomRight" ? "BottomRight" : "");
            handleNextStep(e);
          }}
        >
          Bottom Right
        </button>
      </div>

https://codesandbox.io/s/weathered-https-s0y2x?file=/src/App.js

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿Cómo obtener el valor del temporizador de conteo al hacer clic en el botón?

Obtener el valor del atributo de datos del botón al hacer clic

¿Cómo obtener el valor del campo de entrada al hacer clic en el botón en reaccionar?

Cambiar el valor de entrada del rango al hacer clic en el botón de radio

El valor del cuadro de texto no se actualiza al hacer clic en el botón

¿Obtener valor del botón de opción modificado al hacer clic o simplemente hacer clic en el evento da una respuesta indefinida?

¿Cómo puedo obtener los datos seleccionados en mi ventana modal (al hacer clic en el botón) en función del valor v-for?

Obtenga valor del conjunto de datos al hacer clic en el botón

Obtenga el valor del parámetro de comando al hacer clic en un botón MVVM

Cómo evitar la copia del valor de entrada al hacer clic en el botón

¿Cómo obtener el valor del botón de radio al hacer clic y restar el valor cuando no está marcado?

ReactJS: obtenga el 'valor' del botón al hacer clic

Aumente el valor del contador al hacer clic en el botón, luego reutilice el valor

Cambiar los colores del enlace del sitio web al hacer clic en el botón

El valor del campo de texto no se muestra en el pdf de descarga al hacer clic en el botón

Cambiar el valor del campo del modelo después de hacer clic en el botón

Quiero mostrar los detalles del usuario al hacer clic en el botón en reaccionar

Tratando de evitar que todos los datos del formulario vuelvan a los valores predeterminados al hacer clic en el botón

El valor del cuadro de entrada se muestra en blanco al hacer clic en el botón

Actualizar el valor del elemento de la lista al hacer clic en el botón en Angular 2

Al hacer clic en el botón, quiero incrementar el valor del campo de texto en uno usando Javascript

Cómo cambiar el valor "aceptar" del archivo de entrada al hacer clic en el botón de radio

¿Filtrar los detalles del usuario al hacer clic en un botón de opción?

Ejecutar script de shell del lado del servidor al hacer clic en el botón

Obtenga valor de la identificación dinámica del botón al hacer clic en Javascript

¿Cómo pasar todos los datos del usuario al hacer clic en el botón Editar?

Incrementar el valor del cuadro de texto al hacer clic en el botón con diferentes identificadores

JS cambia el valor del botón al hacer clic en varios botones

¿Cómo borrar los valores del selector de rango de fechas en el botón al hacer clic?

TOP Lista

CalienteEtiquetas

Archivo