Skip to content

Instantly share code, notes, and snippets.

@verdi327
Created April 24, 2019 15:17
Show Gist options
  • Save verdi327/8bbd8963d4329dbf0051a20415034299 to your computer and use it in GitHub Desktop.
Save verdi327/8bbd8963d4329dbf0051a20415034299 to your computer and use it in GitHub Desktop.
context overview
UserContext.js
-define the user context
const UserContext = React.createContext({
name: 'Joe',
setName: () => {}
});
--
App.js
-import user context
-within your render - set the values from state
<UserContext.Provider value={{
name: this.state.name,
setName: name => this.setState({name})
}}>
<Child />
</UserContext.Provider>
class Component
Some Distant Child Component
-import user context file
-set static ContextType = UserContext;
-now can call this.context.somePropName
stateless Component
-import user context file
-Inside return, return JSX from UserContext
<UserContext.Consumer>
{({name, setName}) => (
<div className="user" onClick={() => setName('Chris')}>
{name}
</div>
)}
</UserContext.Consumer>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment