Advertisement
Guest User

Untitled

a guest
Dec 26th, 2019
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. import React, { createContext, useState, useContext } from 'react';
  2.  
  3. interface User {
  4. signedIn: Boolean
  5. }
  6.  
  7. interface UserActions {
  8. signIn: Function,
  9. signOut: Function,
  10. }
  11.  
  12. export const UserContext = createContext([
  13. {},
  14. {}
  15. ] as [User, UserActions]);
  16.  
  17. const UserStore = ({ children }) => {
  18. let [user, setUser] = useState({
  19. signedIn: false,
  20. });
  21.  
  22. const userActions = {
  23. signIn: function () {
  24. // Whatever auth0/firebase crap you need to do
  25. setUser({ ...user, signedIn: true })
  26. },
  27. signOut: function () {
  28. // Auth signout logic
  29. setUser({ ...user, signedIn: false })
  30. }
  31. }
  32.  
  33. return (
  34. <UserContext.Provider value={[user, userActions]}>
  35. {children}
  36. </UserContext.Provider>
  37. )
  38. }
  39.  
  40. export const useUser = () => useContext(UserContext)
  41.  
  42. export default UserStore;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement