Open iamheroine opened 2 hours ago
다른 디렉토리에서는 사용할 일이 없을 것 같아 shared에 만들지 않고 해다 기능을 사용하는 www에 작성했다.
props-drilling으로 처리하는 것보다 전역 상태 관리해주는 것이 적합한 선택인 지 알아보자.
문제점
localStorage
에디터의 테마 상태를 생성된 위젯들과 공유하기 위해 전역 상태 관리가 필요해졌다. 컬러, 폰트, 텍스트 사이즈 정도만 공유하면 되기 때문에 간단한 상태 관리 툴을 사용하려고 한다.
Zutand와 Context API를 두 가지 중 어떤 것이 적합할 지 비교해보았다.
처음에는 아래와 같은 이유로 Context API를 사용하는 것을 먼저 고려했다.
💡하지만 아래와 같은 이유로 Zustand를 사용하는 것으로 최종 결정했다.
특히나 해당 페이지는 다른 위젯들이 리렌더링 되게 하고 싶지 않았고, 새로고침 되어도 선택한 테마 상태가 달라지지 않아야 했기 때문에 Zustand를 사용하고자 한다.
확인했습니다! 저도 모달을 구현하면서 zustand 를 썼지만 이러한 의사 결정 과정을 정리하지 않았었는데, 이렇게 의사 결정 과정을 명확하게 정리해 주시니 좋은 것 같습니다. (저도 모달 구현시 같은 고민을 했던 것 같습니다!)
에디터 스타일 테마 설정 상태 관리
🤔테마 정의 위치?
다른 디렉토리에서는 사용할 일이 없을 것 같아 shared에 만들지 않고 해다 기능을 사용하는 www에 작성했다.
🤔전역 상태 관리가 필요한가?
props-drilling으로 처리하는 것보다 전역 상태 관리해주는 것이 적합한 선택인 지 알아보자.
문제점
localStorage
에 테마를 저장했다가 가져올 때, 상태 동기화 문제가 발생 가능🤔그렇다면 전역 상태 관리는 무엇으로?
에디터의 테마 상태를 생성된 위젯들과 공유하기 위해 전역 상태 관리가 필요해졌다. 컬러, 폰트, 텍스트 사이즈 정도만 공유하면 되기 때문에 간단한 상태 관리 툴을 사용하려고 한다.
Zutand와 Context API를 두 가지 중 어떤 것이 적합할 지 비교해보았다.
처음에는 아래와 같은 이유로 Context API를 사용하는 것을 먼저 고려했다.
💡하지만 아래와 같은 이유로 Zustand를 사용하는 것으로 최종 결정했다.