상태에 어떤 변화가 필요하면 액션(action)이 발생함.
하나의 객체로 표현되고, 다음과 같은 형식으로 이루어짐.
{
type: 'TOGGLE_VALUE'
}
✔ 그리고 액션 객체는 type 필드(액션의 이름)를 필수로 가지고 있어야 함!
✔ 그 외의 값들은 나중에 상태 업데이트를 할 때 참고해야 할 값이고, 작성자 마음대로 넣을 수 있다.
{
type: 'ADD_TODO',
data: {
id: 1,
text: '리덕스 배우기'
}
}
{
type: 'CHANGE_INPUT',
text: '안녕하세요'
}
액션 생성 함수(action creator)는 액션 객체를 만들어 주는 함수이다.
✔ 매번 액션 객체를 직접 작성하기 번거롭고 만드는 과정에서 실수로 정보를 놓칠 수 있음.
✔ 이를 방지하기 위해 함수로 만들어서 관리하는 것!
function addTodo(data) {
return {
type: 'ADD_TODO',
data
};
}
// 화살표 함수로도 만들 수 있음!
const changeInput = text => ({
type: 'CHANGE_INPUT',
text
});