Skip to content

Instantly share code, notes, and snippets.

@penx
Created March 12, 2020 12:09
Show Gist options
  • Save penx/debac9dd116dc3777df7421e36e11461 to your computer and use it in GitHub Desktop.
Save penx/debac9dd116dc3777df7421e36e11461 to your computer and use it in GitHub Desktop.
import React, { useState, createContext, useContext } from "react";
const SetContext = createContext();
const ValueContext = createContext();
const Provider = props => {
const [value, set] = useState("initial");
return (
<ValueContext.Provider value={value}>
<SetContext.Provider value={set} {...props} />
</ValueContext.Provider>
);
};
const Value = () => {
const value = useContext(ValueContext);
return <div>{value}</div>;
};
const SetValue = () => {
const set = useContext(SetContext);
return <button onClick={() => set(Date.now())}>Change</button>;
};
export default function App() {
return (
<Provider>
<Value />
<SetValue />
</Provider>
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment