상태에 어떠한 변화가 필요하게 될 때, 액션이란 것을 발생 시킵니다.
type
이라는 필드는 필수로 가지고 있어야 합니다.{
type : "TOGGLE_VALUE"
}
type
외의 값들은 개발자 마음대로 넣을 수 있습니다.{
type : "TOGGLE_VALUE",
data : {
id : 0,
text : '리덕스 공부'
}
}
액션을 만드는 함수 입니다. 단순히 파라미터를 받아와서 액션 객체 형태로 만듭니다.
export function addTodo(data){
return{
type : "ADD_TODO",
data
};
}
// 화살표 함수로 만들 수 있습니다.
export const changeInput = (text) => {
type : "CHANGE_INPUT",
text
};
export
키워드를 붙여서 다른 파일에서 불러와서 사용 합니다.변화를 일으키는 함수 입니다. 두 가지의 파라미터를 받아 옵니다.
function reducer(state, action){
// 상태 업데이트 로직
return state;
}
useReducer
를 사용 할 때와 똑같은 형태를 가지고 있습니다.function counter(state, action){
switch (action.type){
case 'INCREASE' :
return state + 1;
case 'DECREASE' :
return state - 1;
default :
return state;
}
}
default
에 기존 state
를 반환하도록 작성 합니다.리덕스는 하나의 애플리케이션에 하나의 리덕스 스토어를 만들게 됩니다.
스토어의 내장 함수 중 하나 입니다. 액션을 발생 시키는 것 이라고 이해 할 수 있습니다.
스토어의 내장 함수 중 하나 입니다. 함수 형태의 값을 파라미터로 받아 옵니다.
connect
또는 useSelector
를 사용하여 리덕스 스토어의 상태에 구독 합니다.