UNPKG

gatsby-theme-wordpress-mdx

Version:

<p align="center"> <img width='200px' alt="Gatsby Theme" src="https://raw.githubusercontent.com/artezan/gatsby-theme-wordpress-mdx/master/%40artezan/gatsby-theme-wordpress-mdx/dn.png" />

30 lines (22 loc) 722 B
import * as React from 'react' //https://medium.com/@seantheurgel/react-hooks-as-state-management-usecontext-useeffect-usereducer-a75472a862fe const initialState = { isNavOpen: false } const reducer = (state, actions) => { switch (actions.type) { case 'openNav': return { ...state, isNavOpen: true } case 'closeNav': return { ...state, isNavOpen: false } default: return } } export const SideBarContext = React.createContext(initialState) export const SideBarProvider = ({ children }) => { const [state, dispatch] = React.useReducer(reducer, initialState) return ( <SideBarContext.Provider value={{ state, dispatch }}> {children} </SideBarContext.Provider> ) }