useSyncExternalStore는 구독 함수와 현재 스냅샷 읽기 함수를 받아 외부 저장소의 변화를 React 렌더에 연결합니다. 여러 컴포넌트가 같은 스냅샷을 구독할 수 있습니다.
데모에서는 중앙 저장소의 숫자가 바뀌자 양쪽 뷰가 같이 갱신됩니다. getSnapshot이 매번 새 객체를 만들면 변화가 없는데도 계속 갱신될 수 있으므로 값이 같을 때 같은 참조를 돌려줘야 합니다.
언제 쓰나
브라우저 API, 공유 상태 라이브러리, React 밖 캐시의 값을 구독할 때 사용합니다.