redux를 이용해 web app을 만들어보자
2021. 9. 23. 00:57ㆍ리덕스
1. react 환경설정
npx creat-react-app
명령어를 이용해 react 환경설정을 한 뒤
npm run start로 시작
2. redux 설치
npm install redux
redux를 설치한 뒤 store.js 파일을 만든다
3. store.js 파일을 생성하고, 그 안에 reducer 함수와 초기 state값을 생성
import { createStore } from "redux";
var initState = {
mode: "WELCOME",
welcome_content: {
title: "WEB",
desc: "Hello,WEB",
},
selected_content_id: 1,
contents: [
{ id: 1, title: "HTML", desc: "HTML is ..." },
{ id: 2, title: "CSS", desc: "CSS is ..." },
{ id: 3, title: "JS", desc: "JS is ..." },
],
};
function reducer(state = initState, action) {
return state;
}
export default createStore(
reducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
createStore의 두번째 인자로 들어간 것은 chrome의 extention인 redux_devtools를 실행하는 코드
(주의할 점. https://github.com/zalmoxisus/redux-devtools-extension#usage 해당 링크엔 window앞에 + 가 있는데 지워야한다)
4. index.js 파일로 가서 App.js를 provider로 감싼 뒤,
provider의 인자로 store를 넘겨줘서 하위 컴포넌트들이 store를 import할 필요 없이 사용할 수 있게 한다
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from "./serviceWorker";
import { Provider } from "react-redux";
import store from "./store";
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById("root")
);
serviceWorker.unregister();
'리덕스' 카테고리의 다른 글
Module not found: Can't resolve './serviceWorker' in... 해결법 (0) | 2021.09.23 |
---|---|
Redux-1 (0) | 2021.09.20 |
리덕스란? (0) | 2021.09.15 |