export const HelloApiContext = React.createContext({ values: { name: "" }, }); export function MyHelloApiProvider({ children }) { const [serverData, setServerData] = useState({ name: "" }); const loadData = useCallback(() => { fetch("https://brunosabot.dev/api/hello/") .then((result) => result.json()) .then((data) => setServerData(data)); }, []); useEffect(loadData, []); return ( <HelloApiContext.Provider value={{ values: serverData }}> {children} </HelloApiContext.Provider> ); } export function MyRenderingComponent() { const { values } = useContext(HelloApiContext); return <div>{values.name}</div>; } /* Usage: <MyHelloApiProvider> <MyRenderingComponent /> </MyHelloApiProvider> */