-
1. 전역 상태와 로컬 상태의 분리
- 우리는 전역 상태와 로컬 상태를 명확하게 구분하여 관리하였다.
- 불필요한 전역 상태 증가를 방지하고, 필요한 데이터만 적절한 방식으로 유지하는 것이 목표였다.
2. 전역 상태 관리: Redux 활용
- 급여 내역 리스트와 같은 전역적으로 관리해야 하는 데이터는 Redux를 사용하였다.
- 여러 컴포넌트에서 공유해야 하거나, 페이지 간 이동 시 유지해야 하는 데이터를 중앙에서 관리할 수 있도록 하였다.
3. UI 관련 상태 관리: useState 활용
- 로딩 상태, 입력 값과 같은 UI 관련 상태는 useState를 활용하였다.
- 이렇게 함으로써 Redux의 상태 트리에 불필요한 데이터를 저장하지 않고, 컴포넌트 내부에서만 필요한 데이터를 관리할 수 있었다.
4. 데이터 전달 방식: QueryString 활용
- 급여 정정 페이지로 데이터를 전달할 때 Redux가 아닌 QueryString을 사용하였다.
- 이 방식은 다음과 같은 장점을 가진다.
- Redux에 불필요한 데이터를 저장하지 않으면서 상태 관리의 부담을 줄일 수 있다.
- URL을 통해 특정 급여 데이터를 직관적으로 관리할 수 있다.
- 새로고침 후에도 필요한 데이터가 유지되므로, Redux의 상태 초기화 문제를 피할 수 있다.
5. 결론
- 전역 상태와 로컬 상태를 분리하여 관리함으로써 불필요한 상태 증가를 방지하고, 보다 효율적인 상태 관리를 실현하였다.
- Redux는 전역적인 데이터 공유가 필요한 경우에만 활용하고, UI 관련 상태는 useState를 사용하여 최적화하였다.
- QueryString을 활용하여 필요한 데이터만 직관적으로 전달하는 방식을 적용하여 더욱 깔끔한 상태 관리가 가능하였다.