App
import React, { useState } from "react"; import ContextoCon from "./ContextoCon"; import IncrementButton from "./IncrementButton"; import DisplayCount from "./DisplayCount"; function CounterProvider({ children }) { const [count, setCount] = useState(0); return ( <ContextoCon valor={{ count, setCount }}> {children} </ContextoCon> ); } function App() { return ( <CounterProvider> <DisplayCount /> <IncrementButton /> </CounterProvider> ); } export default App;
Contexto
import { createContext } from 'react' const Contexto = createContext({}) export default Contexto;
ContextoCon
import Contexto from "./Contexto"; const ContextoCon= ({children,valor}) => { return <Contexto.Provider value={valor}> {children} </Contexto.Provider> } export default ContextoCon;
IncrementButton
import { useContext } from "react"; import Contexto from "./Contexto"; function IncrementButton() { const { count, setCount } = useContext(Contexto); return <button onClick={() => setCount(count + 1)}>Incrementar</button>; } export default IncrementButton;
DisplayButton
import { useContext } from "react"; import Contexto from "./Contexto"; function DisplayCount() { const { count } = useContext(Contexto); return <p>Contador: {count}</p>; } export default DisplayCount;