TIL #27

김태훈·2023년 3월 11일
0

TIL

목록 보기
27/35

Redux Toolkit

리덕스 툴킷은 리덕스를 개량한 것으로 생각하면 된다.
리덕스를 사용하기 위해 작성했던 ducks 패턴의 요소들이 전체적인 코드의 양을 늘린다는 개발자들의 불만이 발생했고, 리덕스 팀에서는 이것을 수용하여 코드는 더 적게, 그리고 리덕스를 더 편하게 쓰기 위한 가능들을 흡수해서 만든 것이 리덕스 툴킷이다. 줄여서 RTK라고도 한다.

기존 리덕스와 비교했을 때 구조와 패러다임이 같다. 다만 전체 코드의 양을 줄이기 위해 새로운 API가 추가되었고, ducks 패턴의 요소들이 어느 정도 자동화되었다.

또한 큰 차이점으로 Action Value와 Action Creator를 이제 직접 생성해주지 않고, Action Value, Action Creator, Reducer가 하나로 합쳐졌다는 점이 있다.


Slice

그리고 Slice라는 새로운 API가 추가되었다.
Slice는 createSlice라는 API를 통해 만들 수 있다. 인자로 설정정보를 객체로 받는데, 그 안에 우리가 필수로 작성해줘야 하는 값으로는 name, initialState, reducers가 있다.

//createSlice API 뼈대

const testSlice = createSlice({
	name: '', // 이 모듈의 이름
	initialState : {}, // 이 모듈의 초기상태 값
	reducers : {}, // 이 모듈의 Reducer 로직
})

counterSlice 리듀서 객체 안에서 만들어주는 함수는 리듀서의 로직이 되면서 동시에 Action Creator가 된다. 그리고 Action Value까지 함수의 이름을 따서 자동으로 만들어진다. 그러므로 우리는 Reducer만 만들어주면 된다.

profile
개발자(진)

0개의 댓글