Showing
5 changed files
with
44 additions
and
4 deletions
This diff is collapsed. Click to expand it.
... | @@ -6,12 +6,17 @@ | ... | @@ -6,12 +6,17 @@ |
6 | "@testing-library/jest-dom": "^5.12.0", | 6 | "@testing-library/jest-dom": "^5.12.0", |
7 | "@testing-library/react": "^11.2.7", | 7 | "@testing-library/react": "^11.2.7", |
8 | "@testing-library/user-event": "^12.8.3", | 8 | "@testing-library/user-event": "^12.8.3", |
9 | + "antd": "^4.16.1", | ||
9 | "axios": "^0.21.1", | 10 | "axios": "^0.21.1", |
10 | "http-proxy-middleware": "^2.0.0", | 11 | "http-proxy-middleware": "^2.0.0", |
11 | "react": "^17.0.2", | 12 | "react": "^17.0.2", |
12 | "react-dom": "^17.0.2", | 13 | "react-dom": "^17.0.2", |
14 | + "react-redux": "^7.2.4", | ||
13 | "react-router-dom": "^5.2.0", | 15 | "react-router-dom": "^5.2.0", |
14 | "react-scripts": "4.0.3", | 16 | "react-scripts": "4.0.3", |
17 | + "redux": "^4.1.0", | ||
18 | + "redux-promise": "^0.6.0", | ||
19 | + "redux-thunk": "^2.3.0", | ||
15 | "web-vitals": "^1.1.2" | 20 | "web-vitals": "^1.1.2" |
16 | }, | 21 | }, |
17 | "scripts": { | 22 | "scripts": { | ... | ... |
boiler-plate/client/src/_reducers/index.js
0 → 100644
1 | +// Redux에 있는 Store에 Reducer들이 여러가지 있을 수 있다. | ||
2 | +// -> why? : Reducer 안에서 하는 일은 | ||
3 | +// state가 어떻게 변하는지를 보여준 다음, 변한 마지막 값을 return 해주는 것. | ||
4 | +// 웹서비스를 제작하면서 user state, comment state ... 등등 다양한 기능에 대한 state들이 존재할 수 있고 | ||
5 | +// 각각 state마다 reducer가 있어서 user reducer, comment reducer ... 등등 다양한 reducer들이 존재할 수 있음. | ||
6 | +// ------------------------------------ | ||
7 | +// 이렇게 나눠진 다양한 reducer을 combineReducers을 통해 rootReducer에서 하나로 합쳐주는 기능을 만들 것임. | ||
8 | +import { combineReducers } from 'redux'; | ||
9 | +// import user from './user_reducer'; // user(회원가입, 로그인, 인증, 로그아웃 기능이 있음) reducer | ||
10 | +// import comment from './comment_reducer'; // comment기능이 있을 때 reducer | ||
11 | + | ||
12 | +const rootReducer = combineReducers( { | ||
13 | + | ||
14 | +}) | ||
15 | + | ||
16 | +// 다른 곳에서도 rootReducer을 쓸 수 있도록 | ||
17 | +export default rootReducer; | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
File mode changed
... | @@ -3,15 +3,33 @@ import ReactDOM from 'react-dom'; | ... | @@ -3,15 +3,33 @@ import ReactDOM from 'react-dom'; |
3 | import './index.css'; | 3 | import './index.css'; |
4 | import App from './App'; | 4 | import App from './App'; |
5 | import reportWebVitals from './reportWebVitals'; | 5 | import reportWebVitals from './reportWebVitals'; |
6 | +import { Provider } from 'react-redux' // app에 redux를 연결시켜주기 위해 redux에서 제공하는 provider 사용 | ||
7 | +import { createStore } from 'redux'; // redux에서 createStore 가져옴. | ||
8 | +import { applyMiddleware } from 'redux'; // object만 받는 store가 promise나 functions도 받기 위해 middleware을 사용함 | ||
9 | +import promiseMiddleware from 'redux-promise'; | ||
10 | +import ReduxThunk from 'redux-thunk'; | ||
11 | +import Reducer from './_reducers/index' | ||
12 | + | ||
13 | +import 'antd/dist/antd.css'; | ||
14 | + | ||
15 | + | ||
16 | +const createStoreWithMiddleware = applyMiddleware() | ||
6 | 17 | ||
7 | ReactDOM.render( | 18 | ReactDOM.render( |
8 | - <React.StrictMode> | 19 | + // App에 Redux를 연결 |
20 | + <Provider | ||
21 | + store={createStoreWithMiddleware(Reducer, | ||
22 | + // chrome REDUX_DEVTOOLS extension 사용하기 위해서 | ||
23 | + window.__REDUX_DEVTOOLS_EXTENSIONS__ && | ||
24 | + window.__REDUX_DEVTOOLS_EXTENSIONS__() | ||
25 | + )} | ||
26 | + > | ||
27 | + | ||
9 | <App /> | 28 | <App /> |
10 | - </React.StrictMode>, | 29 | + </Provider> |
11 | - document.getElementById('root') | ||
12 | ); | 30 | ); |
13 | 31 | ||
14 | // If you want to start measuring performance in your app, pass a function | 32 | // If you want to start measuring performance in your app, pass a function |
15 | -// to log results (for example: reportWebVitals(console.log)) | 33 | +// to log resu lts (for example: reportWebVitals(console.log)) |
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals | 34 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals |
17 | reportWebVitals(); | 35 | reportWebVitals(); | ... | ... |
-
Please register or login to post a comment