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

141
Visualizações
Cómo administrar el estado a través de Contexto y mecanografiado

Así que estoy tratando de aprender a usar el contexto, ya que estoy creando una aplicación de citas para perros solo como un proyecto divertido y tendré que pasar al usuario actual por toda la aplicación.

Aunque parece que no entiendo cómo usar el contexto con mecanografiado. Tengo un componente llamado HomeView y me gustaría ver el contador y posiblemente configurar el contador con la función usestate setCounter.

Cuando trato de registrar el contador en mis componentes HomeView, todo lo que obtengo es indefinido, aunque el valor esté establecido en 0. Debería poder iniciar sesión en 0 en la pantalla de mi consumidor. ¿Qué me estoy perdiendo?

Contexto.tsx

 import { createContext, useState } from 'react'; type ContextType = { setCounter: React.Dispatch<React.SetStateAction<number>>; counter: number; }; export const CounterContext = createContext<ContextType>({} as ContextType); export const CounterContextProvider: React.FC = ({ children }) => { const [counter, setCounter] = useState(0); return <CounterContext.Provider value={{ counter, setCounter }}>{children}</CounterContext.Provider>; };

HomeView.tsx

 export const HomeView = () => { const context = useContext(CounterContext); console.log(context.counter); // value is undefined return ( <div className='signInWrapper'> <SignIn /> <CounterContextProvider> {context.counter} // Nothing is shown onto the screen </CounterContextProvider> </div> ); };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Dado que está recuperando el contexto en un componente que no está anidado en el CounterContext.Provider , se está volviendo undefined .

Debe anidar toda su aplicación en CounterContextProvider para acceder al estado globalmente.
Puede hacer esto en su archivo App.js :

 function App() { return ( <CounterContextProvider> ... <HomeView/> </CounterContextProvider>

Después de esto, debería poder acceder al contexto en su componente HomeView :

 export const HomeView = () => { const { counter, setCounter } = useContext(CounterContext); return ( <div className='signInWrapper'> <SignIn /> Your counter value is: {counter} </div> ); };
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