adding project page
This commit is contained in:
30
app2/src/context/appContext/AppContextProvider.tsx
Normal file
30
app2/src/context/appContext/AppContextProvider.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
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 = {
|
||||
featureFlags: [],
|
||||
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;
|
||||
Reference in New Issue
Block a user