diff --git a/.changeset/pretty-buses-stare.md b/.changeset/pretty-buses-stare.md new file mode 100644 index 0000000000..d401486fa8 --- /dev/null +++ b/.changeset/pretty-buses-stare.md @@ -0,0 +1,5 @@ +--- +'slate-react': patch +--- + +Fix to ensure that the latest versions of onChange and renderPlaceholder are used diff --git a/packages/slate-react/src/components/element.tsx b/packages/slate-react/src/components/element.tsx index 6d20b03549..3b54d98003 100644 --- a/packages/slate-react/src/components/element.tsx +++ b/packages/slate-react/src/components/element.tsx @@ -139,6 +139,7 @@ const MemoizedElement = React.memo(Element, (prev, next) => { prev.element === next.element && prev.renderElement === next.renderElement && prev.renderLeaf === next.renderLeaf && + prev.renderPlaceholder === next.renderPlaceholder && isElementDecorationsEqual(prev.decorations, next.decorations) && (prev.selection === next.selection || (!!prev.selection && diff --git a/packages/slate-react/src/components/slate.tsx b/packages/slate-react/src/components/slate.tsx index 0a03ed82b2..4a1b8829df 100644 --- a/packages/slate-react/src/components/slate.tsx +++ b/packages/slate-react/src/components/slate.tsx @@ -68,7 +68,7 @@ export const Slate = (props: { EDITOR_TO_ON_CHANGE.set(editor, () => {}) unmountRef.current = true } - }, []) + }, [onContextChange]) const [isFocused, setIsFocused] = useState(ReactEditor.isFocused(editor)) diff --git a/packages/slate-react/src/components/text.tsx b/packages/slate-react/src/components/text.tsx index 6c3d1f22d7..cb8462b321 100644 --- a/packages/slate-react/src/components/text.tsx +++ b/packages/slate-react/src/components/text.tsx @@ -84,6 +84,7 @@ const MemoizedText = React.memo(Text, (prev, next) => { next.parent === prev.parent && next.isLast === prev.isLast && next.renderLeaf === prev.renderLeaf && + next.renderPlaceholder === prev.renderPlaceholder && next.text === prev.text && isTextDecorationsEqual(next.decorations, prev.decorations) )