Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

156
Visualizações
¿Cómo usar el valor cambiado de useContext?

Estoy usando useContext para pasar el nombre de la cuenta a todas las páginas que he creado en app.js.

contextProvider.jsx

import { createContext, useState } de 'reaccionar';

 export const LoginContext = createContext(null); const ContextProvider = ({children}) => { const [ account, setAccount ] = useState(''); return ( <LoginContext.Provider value={{ account, setAccount }}> {children} </LoginContext.Provider> ) } export default ContextProvider;

Ahora lo estoy usando en app.js para que esté disponible para todas las páginas.

aplicación.js

 import ContextProvider from './context/ContextProvider'; export default function app(){ return ( <ContextProvider> <BrowserRouter> <Routes> {/* home page where i changing the account value. My header component is wrapped inside this MainPage-component */} <Route exact path='/home-services' element={<HouseDeckHomeServicesMainPage city={city} setCity={setCity} handleData={handleData} />} /> <Route exact path='/home-services/about-us' element={<HouseDeckHomeServicesAnotherPage />} /> </Routes> </BrowserRouter> </ContextProvider> );

}

Luego recuerdo las variables en LoginContext de contextProvider.jsx para cambiarlas o establecerlas en un valor particular.

Encabezado.jsx

 export default function Header(){ const {account, setAccount} = React.useContext(LoginContext) // let I am doing in header.jsx setAccount("hello") return ( <div>{account}</div> )

}

Supongamos que estoy haciendo setAccount("Hello") en mi Header.jsx para cambiarlo. La cuenta variable de LoginContext cambió. Lo comprobé imprimiéndolo.

Ahora quiero usar el mismo valor que almacené en la cuenta en otras páginas.

No sé cómo usar ese valor.

Ahora mismo estoy haciendo

OtraPágina.jsx

 export default function AnotherPage() { const {account} = React.useContext(LoginContext) // I want to print the value of account that i changed from // null to "hello" in this page but i am getting undefined // here. console.log(account) return ( <div>{account}</div> ) }

Pero está tomando el valor predeterminado de la cuenta que es nulo , que no es lo que quiero. Quiero usar el valor modificado. Por favor ayuda.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Probablemente no tenga su Header.jsx fuera de su ContextProvider . Intente envolver todo el componente de la aplicación en lugar de solo rutas

about 4 years ago · Juan Pablo Isaza Relatório

0

Me he enfrentado exactamente a tu problema.

Hora de usar useMemo :

 const dataMemo = useMemo(() => { return { account, setAccount } }, [account, setAccount]) return <LoginContext.Provider value={dataMemo}> {children} </LoginContext.Provider>

No olvide import {useMemo} from 'react' en la parte superior

Espero que pueda ayudar ^^

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda