[javascript] array-based approach vs object-based approach

dev stefanCho·2021년 6월 13일
0

javascript

목록 보기
7/26

상황

Posts 중 하나의 Post를 수정해야함, 리듀서에서 Array, Object 각 데이터 형태로 처리할 때 코드를 비교해봄 (코드길이, 간결함 등)

코드

Array approach

const reducer = (state = [], action) => {
  switch (action.type) {
    case EDIT_POST:
      return state.map(
        post => {
          if (post.id === action.payload.id)
            return action.payload;
          } else {
            return post;
          }
      );
    default:
      return state;
  }
}

Object approach

const reducer = (state = [], action) => {
  switch (action.type) {
    case EDIT_POST:
      return { ...state, [action.payload.id]: action.payload };
    default:
      return state;
  }
};

결론

Object로 데이터를 만드는게 코드양도 적고, 훨씬 간결하다.

profile
Front-end Developer

0개의 댓글