📝
기술면접(Redux가 무엇이고 사용하는 이유)
August 22, 2023
기술면접(Redux가 무엇이고 사용하는 이유)
Redux란?
리덕스(Redux)는 JavaScript 애플리케이션의 전역 상태 관리를 위한 라이브러리입니다. 리액트(React)와 함께 많이 사용되며, 복잡한 상태를 효율적으로 관리하고 예측 가능한 데이터 흐름을 구현하는 데 도움을 줍니다. 주요 개념과 동작 방식은 다음과 같습니다.
Redux 주요개념
-
Store: 애플리케이션의 전역 상태가 저장되는 곳으로, 앱 내부 어디에서나 접근 가능한 중앙 데이터 저장소입니다. -
Action: 상태 변화를 나타내는 객체입니다. 어떤 변화가 필요한지를 나타내며, 타입(type)과 데이터(payload)로 구성됩니다. -
리듀서(Reducer): 액션의 타입을 기반으로 상태를 어떻게 변화시킬지 정의하는 함수입니다. 이전 상태와 액션을 받아 새로운 상태를 반환합니다. -
디스패치(Dispatch): 액션을 발생시켜 상태 변화를 일으키는 메소드입니다. 디스패치된 액션은 리듀서에 의해 처리되어 상태가 업데이트됩니다. -
구독(Subscribe): 스토어의 상태가 변경될 때마다 호출되는 함수를 등록하는 메소드입니다. 상태 변경을 감지하고 반응하는 데 사용됩니다.
Redux를 사용하는 이유
- 리덕스를 사용하면 컴포넌트의 상태 업데이트 관련 로직을 다른 파일로 분리시켜서 더욱 효율적으로 관리할 수 있습니다. 모든 상태 업데이트를 액션으로 정의하고, 액션 정보에 기반하여 리듀서에서 상태를 업데이트하는 이 간단명료한 발상 덕분에, 상태를 더욱 쉽게 예측 가능하게 하여 유지보수 측면에 긍정적인 효과가 있다.