MobX state batch update 해결하기
<frontend>/mobx
2025. 1. 10. 22:36
들어가며IAMBIT 기존 레거시는 각각 store마다 공통 state가 복제되어 있었다...이를 개선하기 위해 여러 개의 store에서 공통으로 사용하는 state들(현재 코인, 현재 거래소 타입(선물/현물))을 한 곳(mainStore)에서 중앙 관리 처리했다.최대한 라이브러리 의존성 줄여서 개발했지만 공통 state들과 웹소켓에서 받는 정보들은 필연적으로 전역 상태로 관리해야 했다.그런데 비교적 복잡한 작업인 거래소 코인 변경의 경우 MobX store 라이브러리에 종속된 버그가 생겼다.문제 상황MainStore에서 심볼을 변경하고, 그 다음에 WebsocketManager에서 새로운 심볼에 대한 웹소켓 구독을 해야 하는 상황이었다.// 비즈니스 로직을 덜어낸 예시 코드class MainStore {..