• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

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

23.07.14 11:43 작성 조회수 204

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

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

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

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

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

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

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

 

감사합니다.

Jayden1116님의 프로필

Jayden1116

질문자

2023.07.14

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