/
eb
/
medium-clone
Обзор
Документация
Войти
/
eb
/
medium-clone
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/node_modules/contexts/currentUser.js
41 строка
855 B
Evgeniy Budaev
React Hooks App
25 июл 2020, 15:34
25 июл 2020, 15:34
61784c7
Код
Авторство
О чём код?
import React, {createContext, useReducer} from 'react' const initialState = { isLoading: false, isLoggedIn: null, currentUser: null } const reducer = (state, action) => { switch (action.type) { case 'LOADING': return {...state, isLoading: true} case 'SET_AUTHORIZED': return { ...state, isLoggedIn: true, isLoading: false, currentUser: action.payload } case 'SET_UNAUTHORIZED': return { ...state, isLoggedIn: false, currentUser: null } default: return state } } export const CurrentUserContext = createContext() export const CurrentUserProvider = ({children}) => { const value = useReducer(reducer, initialState) return ( <CurrentUserContext.Provider value={value}> {children} </CurrentUserContext.Provider> ) }