3. 리덕스 사용 할 준비하기 · GitBook
exercise.js 작성할 때, 함수를 만들 때 화살표 함수로 만들기도 하고 그냥 function으로 만들기도 하는데
언제 화살표 함수를 생성해야 하고, 언제 function으로 만들어야 하는건지 궁금합니다!
어느 것을 써야 하는지 정해진 것은 없습니다. 예제에서도 선언식으로 작성된 reducer 를 화살표 함수로 작성했다고 해서 기능적으로 변경되는 건 없습니다.
두 함수 작성의 차이점은 함수 내에서의 this 키워드가 가리키는 것이 다르다는 점 밖에 없어서요. 함수 내에서 this 키워드를 쓰지 않는다면 어떤 방식으로 함수를 작성하셔도 무방합니다.
덕분에 정리가 잘되었습니다. 감사합니다 :)
액션타입을 굳이 상수로 선언하는 이유가 있을까요? 액션 선언함수에 상수 대신 바로 문자열을 기입할 수 있지 않을까 궁금증이 생겨서 질문 드립니다!
const INCREASE = 'INCREASE'; function increase() { return { type: INCREASE }; }
↓
function increase() { return { type: 'INCREASE' }; }
clean-teach님 아마도 액션 타입이 변경될 경우를 대비해서 관리를 편하게 하려고 하는게 아닐까 생각합니다. INCREASE가 INCREASE_PRICE와 같이 변경되는 경우가 있다면, 문자열로 INCREASE를 적어넣었다면 해당 액션이 있는 생성함수를 모두 찾아서 수정해야하고 이는 엄청 번거로운 일입니다.
그러나, 액션타입을 상수로 선언해주었다면 선언부만 바꿔주면 되기에 더 효율적입니다. 그러한 이유 때문에 이런 습관을 들이는 것을 권하지 않으셨나 싶네요
https://underbleu.com/Bongstagram/redux-note/
액션 타입을 문자열 상수로 정의하는 것의 이점
- 이름짓기 편리하다.
- 기존에 생성된 타입의 목록을 PR을 통해 모든 팀원에게 공유가 가능하다.
- type에 문자열을 직접 쓰고 오타를 내어도 아무런 일도 발생하지 않아서 에러 찾기가 어렵다.
const unsubscribe = store.subscribe(listener); 이렇게만 해도 subscribe가 호출된건가요 ?
https://redux.js.org/api/store#subscribelistener
@yjs037 subscribe 함수를 호출하면 상태변경시 호출할 콜백함수를 구독처리한 후 구독을 해제하는 함수를 반환합니다.