Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데비안
- 알파회계
- 페이징
- 스프링 시큐리티
- /etc/network/interfaces
- network configuration
- 구멍가게코딩단
- 코드로배우는스프링웹프로젝트
- 자바편
- resttemplate
- 리눅스
- 처음 만나는 AI수학 with Python
- iterator
- 목록처리
- 자료구조와함께배우는알고리즘입문
- ㅒ
- baeldung
- 선형대수
- 코드로배우는스프링부트웹프로젝트
- 처음 만나는 AI 수학 with Python
- 서버설정
- 친절한SQL튜닝
- 네트워크 설정
- 자료구조와 함께 배우는 알고리즘 입문
- GIT
- d
- Kernighan의 C언어 프로그래밍
- 티스토리 쿠키 삭제
- 스프링부트핵심가이드
- 이터레이터
Archives
- Today
- Total
bright jazz music
생활코딩: react-redux 예제2 본문
1.App.js 작성
import React from "react";
import {createStore} from 'redux';
import {Provider, useDispatch, useSelector} from 'react-redux'
//1. redux를 사용하기 위한 reducer 함수
function reducer(state, action){
if(action.type === 'up') {
return {...state, value:state.value + action.step}
}
return state; //상태 반환
}
const initialState = { value : 0 }
//2. store 생성
const store = createStore(reducer, initialState);
function Counter() {
//4. reducer 함수에 action을 전달할 수 있도록 useDispatch 사용
const dispatch = useDispatch();
//6. 기존 또는 "변경"된 state를 표시할 수 있도록 useSelector 사용. store에 저장된 state 값을 사용한다.
const count = useSelector(state => state.value);
return (
<div>
<button onClick={()=>{
// 5.useDispatch함수 사용. action.type, action.step을 담은 객체를 dispatch에 넣어준다. 이게 reducer 함수의 action에 전달된다.
dispatch({type:'up', step:2});
}}>+</button> {count}
</div>
);
}
function App() {
return (
//3. store를 하위 컴포넌트가 사용할 수 있도록 <Provider store={}> 컴포넌트 적용
<Provider store={store}>
<div>
<Counter></Counter>
</div>
</Provider>
);
}
export default App;
'Framework > ReactJs' 카테고리의 다른 글
생활코딩: next.js (0) | 2023.05.18 |
---|---|
생활코딩: Redux toolkit (0) | 2023.05.17 |
생활코딩: react-redux 예제1 (0) | 2023.05.17 |
생활코딩: useReducer (0) | 2023.05.16 |
생활코딩: context API (0) | 2023.05.16 |
Comments