Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

247
Vistas
¿React JS Access id_lang variable fuera del alcance?

¿Cómo puedo acceder al número let mientras está fuera de la función de representación para pasar y verificar si

barra de navegación const = () => {

 const getID = async (id) => { let id_lang = id; console.log(id_lang); } return ( <Nav> <NavMenu> {navname.map((el, index) => ( <NavItem key={index} > <NavLinks to="/"> { '1' === {id_lang} ? <p>{el.name_th}</p> : <p>{el.name_en}</p> //get id_lang for check if here..... } </NavLinks> </NavItem> ))} <NavItem > <NavLinksLang > <DropdownMenu className='dropdownMenu'> {language.map((el) => ( <DropdownLink onClick={ () => getID(el.id)} > {el.lang_name} </DropdownLink> ))} </DropdownMenu> </NavLinksLang> </NavItem> </NavMenu> </Nav> )

}

Exportar barra de navegación predeterminada

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

puedes usar global, la sintaxis es

dejar ventana.id_lang = id;

esto hará que id_lang sea una variable global que le permitirá acceder a ella fuera del alcance.

recuerde que tendrá que usar window.id_lang cada vez que use la variable.

about 4 years ago · Juan Pablo Isaza Denunciar

0

las variables tienen alcance y son accesibles según el nivel en el que se hayan declarado.

Cuando crea un componente y declara una variable en el nivel superior de un componente, todo el código siguiente puede acceder a esa variable. Sin embargo, declarar una variable en el ámbito de una función interna limita el ámbito exclusivamente a esa función.

 const MyComponent = () => { var myVariable = 'hello'; function myFunction() { var myScopedVariable = 'goodbye'; console.log(myScopedVariable); console.log(myVariable); } console.log(myVariable) //this console logs 'hello' console.log(myScopedVariable) //this console logs 'undefined' because it is out of scope return <></> }

Según su código, ha declarado la variable id_lang en el ámbito de una función llamada getID. Esto significa que solo getID puede acceder y cambiar esta variable.

Para acceder a esta variable fuera del alcance de esta función, debe declararla en el nivel de componente (es decir, en cualquier lugar antes de la devolución). SIN EMBARGO. Teniendo en cuenta que las variables son mutables, es más probable que desee declarar id_lang como una variable con estado. Como tal, debe escribir const [idLang, setIdLang] = useState('') y actualizar el valor de idLang usando setIdLand(id) dentro de su método getID

about 4 years ago · Juan Pablo Isaza Denunciar

0

Gracias, funciona, pero ¿cómo actualiza el control si se selecciona el idioma?

 const [idLang, setIdLang] = useState(''); const getID = async (id) => { let id_lang = id; setIdLang(id_lang) } {navtxt.map((el, index) => ( <NavItem key={index} > <NavLinks to="/" > { '1' === {idLang} ? <p>{el.name_th}</p> : <p>{el.name_en}</p> } </NavLinks> </NavItem> ))} <DropdownMenu className='dropdownMenu'> {language.map((el, index) => ( <DropdownLink onClick={ () => getID(el.id)} > {el.lang_name} </DropdownLink> ))} </DropdownMenu>
about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda