[프론트엔드]/[React]

[React] Redux 관련 용어 정리

Sir교수 2023. 4. 15. 13:28
728x90

Redux란?

 

상태 관리 라이브러리로서,

React와 함께 사용되어 복잡한 애플리케이션의 상태를

효과적으로 관리하는 데 도움을 줍니다.

Redux를 사용하면 상태를 단일 스토어에 저장하고,

상태의 변화를 예측 가능한 방식으로 관리할 수 있습니다.


다음 아래에 Redux 관련 용어들에 대해 정리해 놓았습니다.

 

액션 (Action)

액션은 반드시 type 필드를 가지고 있어야 하며, 해당 액션이 어떤 종류의 상태 변화를 나타내는지 식별합니다.

액션 생성자 (Action Creator)

액션을 생성하는 함수입니다. 액션 생성자는 Redux 액션을 생성하여 디스패치(dispatch)하는 데 사용됩니다.

리듀서 (Reducer)

현재 상태와 액션을 기반으로 새로운 상태를 반환하는 순수 함수입니다.

Redux 스토어에서 액션이 디스패치될 때마다 호출되어 상태를 업데이트합니다.

스토어 (Store)

Redux의 상태를 저장하고 관리하는 단일 객체입니다. 

스토어는 액션에 따라 리듀서를 호출하여 상태를 업데이트하고, 상태의 현재 값을 가져오는 등의 기능을 제공합니다.

디스패치 (Dispatch)

스토어에 액션을 전달하는 메서드입니다.

디스패치를 통해 액션이 리듀서로 전달되어 상태의 업데이트가 이루어집니다.

구독 (Subscribe)

스토어의 상태가 변경될 때마다 특정 함수를 호출하여 상태 변화를 감지하는 기능입니다.

구독을 통해 상태의 변화를 실시간으로 감시하고, 필요에 따라 UI를 업데이트할 수 있습니다.

미들웨어 (Middleware)

액션이 디스패치되기 전과 후에 처리되는 로직을 담은 함수입니다. 미들웨어를 사용하여 액션의 처리를 가로채고, 비동기 작업이나 로깅, 에러 처리 등의 추가적인 로직을 수행할 수 있습니다.

퍼시스팅 (Persisting)

Redux 상태를 지속성 있는 저장소에 저장하고 복원하는 기능을 말합니다.

Redux-persist 라이브러리와 같은 퍼시스팅 라이브러리를 사용하여 상태를 영구적으로 저장할 수 있습니다.

Redux-persist

Redux의 상태를 지속성 있는 저장소에 저장하고 복원하는 기능을 제공하는 라이브러리입니다.

Redux의 상태가 브라우저의 새로고침이나 앱의 재시작과 같은 상황에서도 유지되도록 할 수 있습니다.

Persistor

Redux 상태를 지속성 있는 저장소에 저장하고 복원하는 역할을 수행하는 객체입니다.

Redux store를 생성할 때 함께 생성되며, Redux store의 상태를 저장하고 복원하는 메서드들을 제공합니다.

Persist Middleware

Redux store와 Redux 상태를 지속성 있는 저장소와 연결하는 미들웨어입니다.

Redux store의 액션이 디스패치될 때마다 해당 액션과 상태를 저장소에 저장하고, 저장소로부터 상태를 복원하여 Redux store에 적용합니다.

Persist Configuration

redux-persist에서 사용되는 설정 옵션들을 의미합니다.

저장소의 키(key)와 버전(version), 저장소에 저장되는 상태의 하위 키(subkey), 상태를 변환(transform)하는 함수, 저장소에 대한 설정 등이 포함됩니다.

Rehydrate

저장소에서 상태를 복원하여 Redux store에 적용하는 과정을 말합니다.

Redux store가 초기화될 때, 저장소로부터 상태를 복원하여 앱의 이전 상태를 복구하는 역할을 수행합니다.

Persist Whitelist/Blacklist

저장소에 상태를 저장할 때 특정 키들을 허용(whitelist)하거나 제외(blacklist)하는 설정 옵션입니다.

Redux 상태 중 일부만 저장하고 싶을 때 사용됩니다.

Migration

redux-persist의 버전이 업데이트되거나 저장소의 구조가 변경되었을 때, 

이전 버전의 상태를 새로운 버전으로 변환하는 과정을 말합니다. 

Migration을 사용하여 저장소의 데이터를 업데이트하고 새로운 버전의 redux-persist와 호환되도록 할 수 있습니다.


728x90