이준호

[ADD] redux-persist 모듈 추가로 새로고침 대응

...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
20 "react-social-kr": "^1.1.9", 20 "react-social-kr": "^1.1.9",
21 "redux": "^4.0.5", 21 "redux": "^4.0.5",
22 "redux-devtools-extension": "^2.13.8", 22 "redux-devtools-extension": "^2.13.8",
23 + "redux-persist": "^6.0.0",
23 "redux-thunk": "^2.3.0", 24 "redux-thunk": "^2.3.0",
24 "sass-loader": "^10.1.0", 25 "sass-loader": "^10.1.0",
25 "styled-components": "^5.2.1", 26 "styled-components": "^5.2.1",
......
...@@ -11,14 +11,19 @@ import {createStore,applyMiddleware} from "redux"; ...@@ -11,14 +11,19 @@ import {createStore,applyMiddleware} from "redux";
11 import rootReducer from "./store/index"; 11 import rootReducer from "./store/index";
12 import Thunk from 'redux-thunk'; 12 import Thunk from 'redux-thunk';
13 import {composeWithDevTools} from "redux-devtools-extension"; 13 import {composeWithDevTools} from "redux-devtools-extension";
14 +import {persistStore} from "redux-persist";
15 +import {PersistGate} from "redux-persist/integration/react";
14 16
15 const store = createStore(rootReducer,composeWithDevTools(applyMiddleware(Thunk))); 17 const store = createStore(rootReducer,composeWithDevTools(applyMiddleware(Thunk)));
18 +const persistor = persistStore(store);
16 19
17 ReactDOM.render( 20 ReactDOM.render(
18 <Provider store={store}> 21 <Provider store={store}>
22 + <PersistGate persistor={persistor}>
19 <React.StrictMode> 23 <React.StrictMode>
20 <App /> 24 <App />
21 </React.StrictMode> 25 </React.StrictMode>
26 + </PersistGate>
22 </Provider>, 27 </Provider>,
23 document.getElementById('root') 28 document.getElementById('root')
24 ); 29 );
......
1 import {combineReducers} from 'redux'; 1 import {combineReducers} from 'redux';
2 +import {persistReducer} from "redux-persist";
2 import result from "./action/result"; 3 import result from "./action/result";
3 import survey from "./action/survey"; 4 import survey from "./action/survey";
5 +import storage from "redux-persist/lib/storage";
6 +
7 +const persistConfig = {
8 + key: "root",
9 + storage: storage,
10 + whitelist: ["result","survey"],
11 +};
4 12
5 const rootReducer = combineReducers({ 13 const rootReducer = combineReducers({
6 result, 14 result,
7 survey 15 survey
8 }) 16 })
9 17
10 -export default rootReducer;
...\ No newline at end of file ...\ No newline at end of file
18 +export default persistReducer(persistConfig,rootReducer);
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -10250,6 +10250,11 @@ redux-devtools-extension@^2.13.8: ...@@ -10250,6 +10250,11 @@ redux-devtools-extension@^2.13.8:
10250 resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1" 10250 resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz#37b982688626e5e4993ff87220c9bbb7cd2d96e1"
10251 integrity sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg== 10251 integrity sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg==
10252 10252
10253 +redux-persist@^6.0.0:
10254 + version "6.0.0"
10255 + resolved "https://registry.yarnpkg.com/redux-persist/-/redux-persist-6.0.0.tgz#b4d2972f9859597c130d40d4b146fecdab51b3a8"
10256 + integrity sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==
10257 +
10253 redux-thunk@^2.3.0: 10258 redux-thunk@^2.3.0:
10254 version "2.3.0" 10259 version "2.3.0"
10255 resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" 10260 resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
......