미라클 메모리

목차

리덕스를 왜 사용해야 하는걸까?

리덕스 이해하기 - Action

<aside> 💡 상태에 어떤 변화가 필요하면 Action 이라는 것이 발생한다.

</aside>

function foo(data) {
    return {
      type: "DELETE_TODO",
      data,
    };
  }
// 화살표 함수 Case
  const bar = (text) => ({
    type: "CHANGE_TEXT",
    text,
  });

리덕스 이해하기 - Reudcer

<aside> 💡 리듀서는 변화를 일으키는 함수다. 액션을 만들어서 발생시키면 리듀서가 현재 상태화 전달받은 액션 객체를 파라미터로 받아온다. 그리고 두 값을 참고하여 새로운 상태를 만들어서 반환해 준다.

</aside>

const 초기값 = {
    counter: 1,
  };

  function reducer(state = 초기값, action) {
    switch (action.type) {
      case "INCREASE":
        return {
          counter: state.counter + 1,
        };
      default:
        return state;
    }
  }

리덕스 이해하기 - store

<aside> 💡 프로젝트에 리덕스를 적용하기 위해 스토어를 만든다. 한 개의 프로젝트에는 단 하나의 스토어만을 가질 수 있다.

</aside>

리덕스 이해하기 - dispatch

<aside> 💡 dispatch는 액션을 발생시는 것이다. dispatch(action)과 같은 방식으로 액션 객체를 파라미터로 넣어서 호출한다. 이 함수가 호출되면 스토어는 리듀서 함수를 실행시켜서 새로운 상태를 만들어준다.

</aside>

리덕스 이해하기 - 구독