diff --git a/package.json b/package.json index f78fac6..d0f22d8 100644 --- a/package.json +++ b/package.json @@ -10,8 +10,7 @@ "react": "^16.13.1", "react-dom": "^16.13.1", "react-scripts": "3.4.1", - "react-test-renderer": "^16.13.1", - "use-reducer-with-local-storage": "^1.1.1" + "react-test-renderer": "^16.13.1" }, "scripts": { "build": "react-scripts build", diff --git a/src/App.js b/src/App.js index 9770a95..a11fe8e 100644 --- a/src/App.js +++ b/src/App.js @@ -1,11 +1,17 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import useReducerWithLocalStorage from 'use-reducer-with-local-storage'; -import reducer, { emptyState } from './store/reducer'; +import reducer, { + emptyState, + LOADING, + READY, + SET_STATUS +} from './store/reducer'; import './App.css'; import makeHandleOnChange from './makeHandleOnChange'; function App() { - const [{ bio, name, url }, dispatch] = useReducerWithLocalStorage({ + const [{ bio, name, status, url }, dispatch] = useReducerWithLocalStorage({ + blacklist: ['status'], initializerArg: emptyState, key: 'REACT_APP_STATE', reducer @@ -13,44 +19,58 @@ function App() { const handleOnChange = makeHandleOnChange({ dispatch }); + useEffect(() => { + if (status === LOADING) { + setTimeout(() => { + dispatch({ type: SET_STATUS, value: READY }); + }, 3000); + } + }, [dispatch, status]); + return (
-

Public profile

-
- -