• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

198
Vistas
El evento onClick no funciona con la etiqueta de opción en React

El evento onClick no funciona con la etiqueta <option> . Cómo usar el evento onClick con la etiqueta de opción de selección. A cada opción se le debe dar un parámetro diferente.

 async function localization(language) { localStorage.setItem("language", language); } useEffect(() => { localization(localStorage.getItem("language")); }, []); return( <select> <option onClick={() => localization("ru")}> <RussinFlagIcon /> Ru </option> <option onClick={() => localization("uz")}> <UzbekistanFlagIcon /> Uz </option> <option onClick={() => localization("en")}> <UKFlagIcon /> En </option> </select> )
over 3 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Use onChange en su lugar, así es como debería trabajar cuando se trata de <select> . Puedes hacer algo como esto:

Observe el atributo de value en <option> . El valor de la opción seleccionada será el valor de <select> .

 return( <select onChange = {(e)=> localization(e.target.value)}> <option value = "ru"> <RussinFlagIcon /> Ru </option> <option value= "uz"> <UzbekistanFlagIcon /> Uz </option> <option value="en"> <UKFlagIcon /> En </option> </select> )
over 3 years ago · Juan Pablo Isaza Denunciar

0

Normalmente, la selección se usa con un [formulario][1], luego debe usar la devolución de llamada onChange:

 const Select = () => { const handleChange = (e) => localStorage.setItem("language", e.target.value); return ( <label> <select name="languages" onChange={handleChange}> <option onClick={() => localization("ru")}> <RussinFlagIcon /> Ru </option> <option onClick={() => localization("uz")}> <UzbekistanFlagIcon /> Uz </option> <option onClick={() => localization("en")}> <UKFlagIcon /> En </option> </select> </label> ); };

Luego algunos comentarios sobre su código:

  • async function localization no tiene que ser asíncrona si no tiene una Promesa en ella.
  • Y su useEffect no hace mucho excepto almacenar el idioma en localStorage basado en el valor localStorage... [1]: https://www.w3schools.com/TAGS/att_select_form.asp
over 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda