인프런 커뮤니티 질문&답변

Jayden1116님의 프로필 이미지
Jayden1116

작성한 질문수

처음 만난 리덕스(Redux)

(실습) Action Creator 만들기

action creator에 관해서 질문이 있습니다!

해결된 질문

작성

·

251

1

const ACTION_TYPE_ADD_TODO = "ADD_TODO";
const ACTION_TYPE_REMOVE_TODO = "REMOVE_TODO";
const ACTION_TYPE_REMOVE_ALL = "REMOVE_ALL";

function addTodoActionCreator(text) {
  return {
    type: ACTION_TYPE_ADD_TODO,
    text,
  };
}

function removeTodoActionCreator() {
  return {
    type: ACTION_TYPE_REMOVE_TODO,
  };
}

function removeAllActionCreator() {
  return {
    type: ACTION_TYPE_REMOVE_ALL,
  };
}

위와 같은 actionCreator들을 하나의 함수로 묶어서 쓰는 경우는 잘 없나요? 예를 들어 아래처럼요!

function actionCreator(type, payload = {}) {
  return {
    type,
    ...payload,
  };
}

정답은 없겠지만 뭔가 위에 3개로 분리되어있는 것도 하나로 표현하면 좋지 않을까 싶어서 여쭤봅니다!

답변 1

1

Inje Lee (소플)님의 프로필 이미지
Inje Lee (소플)
지식공유자

안녕하세요, 소플입니다.

당연히 말씀해주신 방법대로 해도 작동하도록 만들수는 있습니다.

하지만 저렇게 하게 되면 실제 Action Creator를 호출하는 쪽에 Action Type에 대한 의존성이 생기게 됩니다.
(기존에는 Action Creator에만 의존성이 존재)

그래서 Action Creator를 미리 다 만들어 놓고 정해진 틀에 맞춰서만 호출해서 쓰도록 하는 방법과 말씀해주신 것처럼 자유롭게 호출해서 쓸 수 있는 방법 중에서 어떤 방법이 좋을지 선택해서 사용하시면 됩니다.

개발에 정답은 없기 때문이죠ㅎㅎ

그리고 강의 후반부까지 다 들으시면 비슷한 고민을 한 개발자들이 Redux를 사용하는 방법을 어떻게 발전시켜 왔는지 보실 수 있으니 천천히 꼭 완강하시길 바랍니다!

 

감사합니다.

Jayden1116님의 프로필 이미지
Jayden1116
질문자

빠른 답변 감사합니다 :)!!!

Jayden1116님의 프로필 이미지
Jayden1116

작성한 질문수

질문하기