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

92
Visualizações
El contexto devuelve funciones indefinidas en cualquier actualización en la aplicación React Native

Tengo un problema con la actualización de cualquier aplicación, UNO de mis Contextos está devolviendo funciones indefinidas.

tengo la siguiente estructura:

 export default function AppWrapper() { return ( <GlobalProvider> <ChildProvider> <App /> </ChildProvider> </GlobalProvider> ); }

Me estoy volviendo undefined en las funciones de ChildProvider , que se ve así:

 const INITIAL_STATE = { orders: [], error: null, }; const ChildContext = React.createContext({ ...INITIAL_STATE }); const ChildConsumer = ChildContext.Consumer; const OrderProvider = (props) => { const { children } = props; const { store, userId } = useContext(GlobalContext); const [state, setState] = React.useReducer((state, newState) => { const combinedState = { ...state, ...newState }; return combinedState; }, INITIAL_STATE); const getDataFromStore = async () => { if (store?.id) { try { const { error, data } = await getOrdersByStore({store.id}); if (data) { const data1 = <iterating through data>; await setState({ orders: data1 }); } else { await setState({ error: error }); } } catch (e) { await setState({ error: e }); } } }; const actions = { getDataFromStore}; return <ChildContext.Provider value={{ ...state, ...actions }}>{children}</ChildContext.Provider>; }; export { ChildContext, ChildConsumer, ChildProvider };

Y en Home.js , llamo a estas funciones como tales:

 const { getDataFromStore } = useContext(ChildContext) useEffect(() => { const getOrders = async () => { store?.name && (await getDataFromStore()); }; getOrders(); }, [store]);

Y en Home.js es donde esa función (y cualquier función definida en ChildContext ) no está undefined en ninguna actualización.

Algunos detalles:

  • No es un error de ortografía, o un error de "no se puede encontrar el archivo".
  • Lo único que estoy almacenando actualmente en la sesión es el auth token .
  • Todo desde el estado está definido (incluso si está en su forma INITIAL_STATE )
  • Siempre que llamo a la función indefinida, uso async/await
  • En realidad, no uso el Consumidor en ninguna parte.
  • AppWrapper, GlobalContext and ChildContext están anidados dentro de una carpeta de context . App.js está en el directorio raíz.
about 4 years ago · Juan Pablo Isaza
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