IT/면접

Q. 상태관리 하는 이유와 평소 상태관리 방법

뀨뿌뀨뿌 2023. 8. 1. 10:39

❓상태관리 하는이유

상태 관리는 애플리케이션의 복잡성을 다루는 중요한 방법중에 하나
상태는 시간에 따라 변화하는 데이터를 의미하기 때문에 사용자 인터페이스, 네트워크 응답, 사용자 입력 등으로 부터 데이터가 변경되고 이러한 변경사항을 추적하고 예측 가능하게 관리하는 것은 애플리 케이스의 안정성과 유지 보수성을 보장하는데 필수적임

❓리액트에서 상태관리 하는 방법

로컬 컴포넌트 상태 = useState나 useReducer Hook을 사용하여 간단하게 상태관리를 할 수 있음
ContextAPI = 리액트 내장 Context API를 사용하면 상위 컴포넌트에서 하위 컴포넌트로 상태를 쉽게 전달할 수 있고 중간에 있는 컴포넌트들이 상태를 통과하는것을 방지하며, 상대적으로 간단하게 전역 상태 관리하기엔 유용할 수 있음
Redux, MobX, Recoil등의 라이브러리 = 라이브러리들은 좀 더 복잡한 상태 관리 요구 사항을 다루는데 사용됨, 큰 규모의 애플리케이션에서는 이러한 라이브러리를 사용하여 상태를 관리하면 여러 장점을 얻을 수 있음

 

상태(데이터)에 맞춰 적절하게 UX와 UI를 설계하고 구현하기 위해서
필요에 따라 다르지만 보통은 useState를 사용하여 local state로 관리하며 페이지 별로 별도로 관리해야 하거나 전역 상태까지 관리를 하기에는 단위가 다르면 ContextApi를 사용하고 props drilliing의 depth가 커지면 global state로 redux를 사용하여 관리합니다.