티스토리 뷰
6주차는 상태관리에 배우는 시간이었다.
상태관리 라이브러리 중 리덕스가 있다.
리덕스는 애플리케이션의 상태를 중앙 집중식 스토어에서 관리할 수 있어, 다양한 컴포넌트 간에 상태를 일관되게 공유하고 관리할 수 있다.
<덧셈, 뺄셈 예제 코드>
import { createStore } from 'redux';
// 리듀서 함수 정의
function counter(state = 0, action) {
switch (action.type) {
case 'INCREMENT':
return state + 1;
case 'DECREMENT':
return state - 1;
default:
return state;
}
}
// 스토어 생성
const store = createStore(counter);
// 현재 상태 출력
console.log(store.getState()); // 0
// 상태가 변경될 때마다 실행될 함수 등록
const unsubscribe = store.subscribe(() => console.log(store.getState()));
// 액션 디스패치
store.dispatch({ type: 'INCREMENT' }); // 1
store.dispatch({ type: 'INCREMENT' }); // 2
store.dispatch({ type: 'DECREMENT' }); // 1
// 이벤트 리스너 제거
unsubscribe();
상태관리와 함께 테스트 코드를 어떻게 작성해야 유지보수에 도움이 되는지도 배웠으나 아직까지 내가 편하게 쓰기엔 어려움이 있다.
정말 틈틈이 여러 번 사용해보는 수 밖에 없을듯 하다.
어려울 수록 여러 번 두드려야 뭐든 될 거 같다.
반응형
LIST
'회고록' 카테고리의 다른 글
메가테라 프론트엔드 생존 코스 후기 (2) | 2023.11.08 |
---|---|
메가테라 프론트엔드 생존코스 7주차 회고 (0) | 2023.11.05 |
메가테라 프론트엔드 생존코스 5주차 회고 (1) | 2023.10.22 |
메가테라 프론트엔드 생존코스 4주차 회고 (1) | 2023.10.21 |
메가테라 프론트엔드 생존코스 3주차 회고 (0) | 2023.10.19 |
댓글