Session state using React.Context.
import{SessionProvider}from'session-context';constApp=()=>(<SessionProvider>
// nested code
</SessionProvider>);classHeaderextendsReact.Component{componentDidMount(){const{ updateSession }=this.props;fetchExternalCode().then((data)=>{updateSession({ data });});}render(){const{ session }=this.props;return(<div>{session.data}</div>);}}Header.propTypes={session: PropTypes.object.isRequired,// withSessionupdateSession: PropTypes.func.isRequired,// withSession};exportdefaultwithSession(Header);- useful when you're loading a session state from
window.__STATE__and the like
import{SessionProvider}from'session-context';constApp=()=>(<SessionProviderdefaults={{data: null}}>
// nested code
</SessionProvider>);MIT | @davalapar