Redux의 역할프로젝트 내 전역 상태 관리사용 중인 패턴Redux Toolkit을 사용한 slice 기반 상태 관리 (createSlice 사용)Ducks 패턴을 따르며, 한 파일에 state, reducers, actions 포함redux 사용 시1️⃣ 스토어 작성2️⃣ provider적용3️⃣ slice에서 액션, 리듀서 정의 : createSlice 사용해서 redux상태,액션을 한번에 정의4️⃣ selector 함수 생성 : redux상태를 가져오는 로직을 분리해 재 사용할 수 있도록 도와줌5️⃣ 컴포넌트에서 useAppSelector로 상태 가져오거나 useDispatch 사용해 상태 변경하며 사용한다 storeconfigureStore : redux 스토어를 쉽게 설정const store =..
action 정의한다 액션디렉토리에 액션 타입파일을 만들어서 액션이름을 상수형태로 만들고 다른파일에서 불러올수잇도록 만든다 대문자와_를 사용해서 만든다 export const PLUS = 'PLUS' 액션 생성자함수를 통해 정의한다 -> 왜? 액션을 그때그때 객체를 만들면 귀찮아서..? 액션 생성자는 미리 정의해둔 액션이름을 불러와서 카멜케이스로 작성함 payload가 있는경우에 인자로 넣어줌 import *as types from '액션타입정의한곳' export function plus(payload) { return { type: types.PLUS payload: } } 액션 객체 { type: 액션의 종류를 한번에 식별할 수 있는 문자열 또는 심볼 payload: 액션의 실행에 필요한 임의 데이터..
Redux란? 리덕스는 상태의 중앙관리를 위한 상태관리 도구입니다 전역상태를 생성하고 관리하기위한 라이브러리 Redux 왜 사용하나요? 리액트의 경우 단방향이라서 상태를 prpos로 전달받게 됩니다. 부모컴포넌트에서 최하위 자식 컴포넌트 전달한다고 했을때 두세개의 경우 가볍게 할 수 있지만 그 양이 일억개라고 생각해봅니다. 쉽게 말하자면 유선이라고 생각하면 됩니다. 리덕스의 경우 무선처럼 사용 할 수 있습니다 리덕스는 많아진 상태구성요소들을 보다 효율적으로 관리해줍니다 스토어를 사용하여 상태를 컴포넌트 구조 바깥에 두고 스토어를 통해 업데이트하거나 새로운 상태를 전달받아요 리덕스데브툴 사용시 시간여행 가능 그렇다면 리덕스 이전엔 어떻게 사용했나요? Context API등을 사용 전역상태관리측면에서는 차이..