Files
noahspan-root/app/src/context/appContext/AppContextProvider.tsx
2025-02-23 19:35:44 -06:00

30 lines
810 B
TypeScript

import { useMemo, useReducer } from 'react';
import { AppContext } from './AppContext';
import { AppContextProviderProps } from './AppContextProviderProps.interface';
import { AppContextProps } from './AppContextProps.interface';
import { AppContextState } from './AppContextState.interface';
import { reducer } from './reducer';
const AppContextProvider = (
props: AppContextProviderProps
) => {
const intialState: AppContextState = {
userProfile: {}
};
const [state, dispatch] = useReducer(reducer, intialState);
const contextValue: AppContextProps = useMemo(() => {
return {
state,
dispatch
};
}, [state, dispatch]);
return (
<AppContext.Provider value={contextValue}>
{props.children}
</AppContext.Provider>
);
};
export default AppContextProvider;