티스토리 뷰
React Redux 설치 및 세팅 방법
1. create-react-app 설치
npx create-react-app my-app (내가 만들 앱 이름)
cd my-app (내가 만들 앱 이름)
npm start
2. Redux 설치
npm install --save redux react-redux
3. index.js 세팅
import React from 'react';
import ReactDOM from 'react-dom';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import App from './App';
import test_reducer from './App_reducer'; // redx 세팅 js 임포트
let store = createStore(board_reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);
4. App_reducer.js 생성 (데이터 입출력에 대한 기능 모음집)
// action type
const DATA_SAVE = 'SAVE';
const DATA_REMOVE = 'REMOVE';
const DATA_READ = 'ONE';
const DATA_LIST = 'LIST';
export const data_save = (data) => ({
type: DATA_SAVE,
data
});
export const data_remove = (id) => ({
type: DATA_REMOVE,
id: id
});
export const data_read = (id) => ({
type: DATA_READ,
id: id
});
export const data_list = () => ({ type: DATA_LIST });
const initialState = {
maxNo: 3,
datas: [
{
id: 1,
descript: 'test1',
date: new Date()
},
{
id: 2,
descript: 'test2',
date: new Date()
}
],
selectedData: {}
};
export default function data_reducer(state = initialState, action) {
let datas = state.datas;
switch(action.type) {
case DATA_SAVE:
let data = action.data;
let maxNo = state.maxNo;
if (!data.id) { // new : Insert
return {maxNo: maxNo+1, datas: datas.concat({...data, id: maxNo, date: new Date()}), selectedData: {} };
}
return {...state, datas: datas.map(row => data.id === row.id ? {...data }: row), selectedData: {} };
case DATA_REMOVE:
return {...state, datas: datas.filter(row => row.id !== action.id), selectedData: {}};
case DATA_READ:
return {
...state,
selectedData: datas.find(row => row.id === action.id)
};
default:
return state;
}
}
5. App.js 세팅 추가
import { connect } from 'react-redux';
6. 사용하는 컴포넌트 .js 세팅 추가
import { connect } from 'react-redux';
import { data_read, data_remove } from './App_reducer' //{ 사용할 액션 명 }
참고 : https://forest71.tistory.com/184?category=683254
-------------------- redux methods 넣기
끘!@$@#%ㄲ#$%ㄲ!@$#ㄸ!@$ ㅆㅂ...
'React & Vue' 카테고리의 다른 글
React state 정의 및 차이점 (0) | 2019.01.23 |
---|---|
리액트 강좌 목록 (0) | 2019.01.23 |
화살표 함수 Arrow function 란 (0) | 2019.01.22 |
용어 정리 해야할 것 (0) | 2019.01.22 |
var, let, const 차이첨 (0) | 2019.01.22 |
- Total
- Today
- Yesterday
- 송내 카페
- 남자 혼자 국내 여행
- 송내역 룸카페
- vscode
- 베스파LX
- 스쿠터 여행
- 영광 여행
- 윈드스크린
- 인터바이크
- 보성 여행
- 남자 혼자 여행
- 군산 가볼만한곳
- 송내 룸카페
- 군산 여행
- 스쿠터 전국 일주
- 초원사진관
- 제주도 스쿠터 여행
- Docker
- 돌장갑
- 은파호수공원
- 국제반점
- kendo grid
- 군산 게스트하우스
- 송내역 카페
- 전국 일주 여행
- 나래바이크
- 오라클 DB 링크
- 리니지m
- 고흥 여행
- 담양 여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |