Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, { createContext, useState, useContext } from 'react';
- interface User {
- signedIn: Boolean
- }
- interface UserActions {
- signIn: Function,
- signOut: Function,
- }
- export const UserContext = createContext([
- {},
- {}
- ] as [User, UserActions]);
- const UserStore = ({ children }) => {
- let [user, setUser] = useState({
- signedIn: false,
- });
- const userActions = {
- signIn: function () {
- // Whatever auth0/firebase crap you need to do
- setUser({ ...user, signedIn: true })
- },
- signOut: function () {
- // Auth signout logic
- setUser({ ...user, signedIn: false })
- }
- }
- return (
- <UserContext.Provider value={[user, userActions]}>
- {children}
- </UserContext.Provider>
- )
- }
- export const useUser = () => useContext(UserContext)
- export default UserStore;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement