JS에서의 기초 Redux 사용 방법과 구조
기초부터 JS에서의 리덕스를 알아보자
첫째로 리덕스의 문법이 바뀐건 아니지만 vscode에서도 바꾸길 권장하기에 redux_toolkit을 이용해서 바꾸려고 한다.
리덕스는 아래와 같은 함수의 구조로 이루어 진다.
1
2
3
4
import { configureStore } from "@reduxjs/toolkit";
const store = configureStore({ reducer: -function- });
function 에는 reducer에는 함수를 인자로 넣어 어떤 동작에 대해 어떻게 행동하는지에 대한 정의를 내려주는 함수를 정의 해준다.
1
2
3
4
5
6
7
8
9
10
const reducer = (-initialState-, -action-) => {
switch (action.type) {
case a :
return;
case b :
return;
default:
return state;
}
};
reducer 함수에서는 인자로 보내진 action.type이 어떤것인지에 따라 케이스별로 값의 변화를 리턴함
주의사항으로 return 을 할때 새로운 값으로 return 으로 값 변화한 값이 아닌 새로운 값으로 리턴해야됨
arr.push(1)
❌
[ 1 , …arr]
⭕️
redux값을 정해준 store에서 정해진 다양한 함수가 있다
getState()
현재 설정된 store에서 저장된 값을 가지고 온다.
1
2
// reducer 함수에서 처음에 설정된 initalState 값이 1 이면 1을 리턴해줌
store.getState();
dispatch(actionObject)
store 에 있는 값을 변화 시킬때 사용한다.
store.dispatch({type : “add’ , text : “추가하기” })
코드는 reducer 에서 해당 action.type 이 add 인것을 확인하고 해당된 코드를 실행해 값에 변화를 준다.
1
store.dispatch({type: ?? , ?value})
subscribe(function)
subscribe 는 redux의 store의 값이 변화할때 실행되는 함수를 정해줌
1
2
3
4
5
const onChange = () => {
number.innerText = countStore.getState();
};
store.subscribe(onChange);
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.