State Management
Managing context, state and hooks
Context API
....
// project import
import defaultConfig from 'config';
import useLocalStorage from 'hooks/useLocalStorage';
....
// ==============================|| CONFIG CONTEXT & PROVIDER ||============================== //
const ConfigContext = createContext(initialState);
function ConfigProvider({ children }) {
....
const onChangeMenuOrientation = (menuOrientation) => {
setConfig({
...config,
menuOrientation
});
};
const onChangeMiniDrawer = (miniDrawer) => {
setConfig({
...config,
miniDrawer
});
};
const onChangeMode = (mode) => {
setConfig({
...config,
mode
});
};
....
return (
<ConfigContext.Provider
value={{
...config,
onChangeMenuOrientation,
onChangeMiniDrawer,
onChangeMode,
onChangePresetColor,
onChangeLocale,
onChangeDirection,
onChangeContainer,
onChangeFontFamily,
onChangeBorderRadius,
onChangeOutlinedField,
onReset
}}
>
{children}
</ConfigContext.Provider>
);
}
ConfigProvider.propTypes = {
children: PropTypes.node
};
export { ConfigProvider, ConfigContext };State
Designing Actions
Writing Reducers
Last updated