GlobalContext Api - Redux
GlobalContext Api - Redux
useNestedState.tsx
import { useCallback , useMemo , useState } from "react" ;
type ReturnTypes < T > = [ T , SettersFor < T > & { set : ( value : T ) => void }, () => void ];
return newState ;
});
};
}, []);
const initialState = {
viewDetails : {},
filter : {
topLevelInventoryItem : 'Operating Systems' ,
childLevelInventoryItem : 'Child Operating Systems' ,
isCaseSensitive : false ,
isMatchAll : true ,
crieteria : {
newItem : {} as any ,
added : [] as any
},
},
singleEdit : {
category : '' ,
open : false ,
}
};
type InventoryContextType = [
state : InventoryStateType ,
setters : SettersFor < InventoryStateType > ,
reset : () => void
];
return (
< InventoryContext . Provider value = {[ state , memoizedSetters , reset ]} >
{ children }
</ InventoryContext . Provider >
);
};
App.jsx
import SideNavComponent from '@/components/GlobalComponents/GlobalSidenav' ;
import HeaderComponent from '@/components/GlobalComponents/GlobalTopnav' ;
import { QueryClient , QueryClientProvider } from "@tanstack/react-query" ;
import { ReactQueryDevtools } from "@tanstack/react-query-devtools" ;
return (
< QueryClientProvider client = { queryClient } contextSharing = { true } >
< InventoryProvider >
< HeaderComponent />
< SideNavComponent />
{ props . children }
</ InventoryProvider >
< ReactQueryDevtools />
</ QueryClientProvider >
);
}
Next
Redux Easy