Community

컴포넌트의 마운트 시점에 전역 컨텍스트에 값을 set 하고, 그값을 동시에 렌더링 하고 싶으시다고 이해가 됩니다. zustand 를 사용해보진 않았지만, 의견을 남겨봅니다. 해당 컴포넌트가 전역상

컴포넌트의 마운트 시점에 전역 컨텍스트에 값을 set 하고, 그값을 동시에 렌더링 하고 싶으시다고 이해가 됩니다. zustand 를 사용해보진 않았지만, 의견을 남겨봅니다. 해당 컴포넌트가 전역상태를 구독하고 있고, 마운트 시점에 setter 로 값을 할당하게 되면 업데이트 시점이 늦어져서 빈화면이 보이게 되는 문제 같습니다. 이렇게되면 setter 를 호출하는 시점에서부터 컴포넌트의 Render Phase가 되기전에 값을 할당할수가 없을것 같습니다. 값이 비어있을때 엘리먼트를 return 하지 않게 하거나 로더, 스켈레톤 UI 등을 사용해서 잠시 비어있는 화면을 채워 두는 방법도 가능할것 같습니다. 도움이 되진 않겠지만 useEffect 대신 useLayoutEffect 를 사용하면 Render Phase 에 진입하기 전에 useLayoutEffect 의 콜백함수가 실행됩니다. 그렇다고 하더라도 상태를 업데이트 하는 과정이 들어있다면 컴포넌트가 렌더링 된후 상태가 업데이트 되며 리렌더링 하게 될수 있습니다. 가급적이면 사용할 전역 상태에 초기값을 가지고 있을수 있도록 설계 해주시는게 좋을것 같습니다.

알림

알림이 없습니다