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

199
Visualizações
Los valores de contexto no se actualizan en React.js js

Creé una aplicación de contador en React js usando la API de contexto para la gestión del estado global.

Pero el problema es que cuando hago clic en el botón de aumento y disminución, no se actualizan los valores globales.

Soy nuevo en React.js, brinde orientación sobre lo que está fallando aquí.

Archivo de contexto:

 import {createContext,useState} from 'react';

export const DataContext = createContext({
 data:0,
 increase : () => {},
 decrease : () => {}
});

function DataContextProvider(props){
 const [data,setData] = useState();

 const increase = () => {
 setData(data + 1);
 }

 const decrease = () => {
 setData(data - 1);
 }

 return(
 <DataContext.Provider value={{data,increase,decrease}}>
 {props.children}
 </DataContext.Provider>
 );

};

export default DataContextProvider;

aplicación.js:

 import React,{useContext} from 'react';
import {DataContext} from './Context/dataContext';
import DataContextProvider from './Context/dataContext';
import IncreaseBtn from './Component/Increase';
import DecreaseBtn from './Component/Decrease';

const App = () => {
 const {data} = useContext(DataContext);
 
 return(
 <>
 <DataContextProvider>
 {data}
 <br/>
 <br/>
 <IncreaseBtn />
 <br/>
 <br/>
 <DecreaseBtn />
 </DataContextProvider>
 </>
 )
}

export default App;

Aumentar el componente del botón:

 import React,{useContext} from 'react';
import {DataContext} from '../Context/dataContext';

const IncreaseBtn = () => {
 const {increase} = useContext(DataContext);

 return(
 <>
 <button onClick={increase}> Increase </button>
 </>
 )
}

export default IncreaseBtn;

Componente del botón de disminución:

 import React,{useContext} from 'react';
import {DataContext} from '../Context/dataContext';

const DecreaseBtn = () => {
 const {decrease} = useContext(DataContext);

 return(
 <>
 <button onClick={decrease}> Decrease </button>
 </>
 )
}

export default DecreaseBtn;

Estructura de carpetas: ingrese la descripción de la imagen aquí

almost 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

  • Si desea usar el context , debe ajustar su provider alrededor de esos componentes, pero aquí el componente de la App no está ajustado sino a sus elementos secundarios 😉
  • Proporcione un estado inicial de algún "número", ya que no estaría undefined y da NaN si realiza las operaciones aritméticas con él.

Se actualizó el sandbox para su referencia.

almost 4 years ago · Santiago Trujillo Relatório

0

Estás actualizando el estado de forma incorrecta Prueba: setCount(count => count + 1);

almost 4 years ago · Santiago Trujillo 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