UNPKG

rap-react

Version:

To make it easy for you to get started with GitLab, here's a list of recommended next steps.

45 lines (37 loc) 866 B
import { useReducer } from "react"; import LoaderContext from "./LoaderContext"; export const reducer = (state, { type, payload }) => { switch (type) { case "status": default: return { visible: payload.visible, }; } }; export const LoaderState = (props) => { const [loader, dispatch] = useReducer(reducer, { visible: true, }); const updateLoaderStatus = (status) => { const fn = () => { dispatch({ type: "status", payload: { visible: status }, }); }; if (status === false) { setTimeout(() => { fn(); }, 1000); } else { fn(); } }; return ( <LoaderContext.Provider value={{ loader, updateLoaderStatus }}> {props.children} </LoaderContext.Provider> ); }; export default LoaderState;