shlogg · Early preview
Ramu Narasinga @karthik-m22

Understanding UseSyncExternalStore In TipTap Editor

useSyncExternalStore used in TipTap's EditorContent, useEditorState & useEditor to sync editor instance with component state for performance reasons.

In this article, we will review useSyncExternalStore usage in TipTap.

I found useSyncExternalStore is used in 3 files:

EditorContent.tsx
useEditorState.ts
useEditor.ts

Before we look at these files, let’s learn what is useSyncExternalStore.

  
  
  useSyncExternalStore

useSyncExternalStore is a React Hook that lets you subscribe to an external store.
Read more about useSyncExternalStore.

const snapshot = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot?)

    
    

    
    




  
  
  EditorContent.tsx


import { useSyncExternalStore } from 'use-sync-external-store/shim'...