Untitled
unknown
javascript
2 years ago
1.2 kB
10
Indexable
import React, { createContext, useReducer } from 'react'; export const UserContext = createContext(); const initialState = { isLogin: false, user: {}, } const reducer = (state, action) => { const { type, payload } = action; switch (type) { // add case "USER_SUCCESS" here .. case 'LOGIN_SUCCESS': // Set localstorage item with key "token" here ... localStorage.setItem("id", payload.id) localStorage.setItem("token", payload.token) localStorage.setItem("role", payload.role) return { isLogin: true, user: payload, } // add case "AUTH_ERROR" here .. case 'LOGOUT': // Remove localstorage item with key "token" here ... localStorage.removeItem("id") localStorage.removeItem("token") localStorage.removeItem("role") return { isLogin: false, user: {}, } default: throw new Error(); } } export const UserContextProvider = ({ children }) => { const [state, dispatch] = useReducer(reducer, initialState); return ( <UserContext.Provider value={[state, dispatch]}> {children} </UserContext.Provider> ); }
Editor is loading...