From b94254d694c6ea6c88cacd661e7bd77165cd2607 Mon Sep 17 00:00:00 2001 From: Bob Ippolito Date: Thu, 23 Feb 2023 12:22:52 -0800 Subject: [PATCH] fix: Add missing dependencies to useEffect and React.memo calls (#5289) (#5310) * fix: Add missing dependencies to useEffect and React.memo calls (#5289) * Add changeset --- .changeset/pretty-buses-stare.md | 5 +++++ packages/slate-react/src/components/element.tsx | 1 + packages/slate-react/src/components/slate.tsx | 2 +- packages/slate-react/src/components/text.tsx | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .changeset/pretty-buses-stare.md diff --git a/.changeset/pretty-buses-stare.md b/.changeset/pretty-buses-stare.md new file mode 100644 index 000000000..d401486fa --- /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 6d20b0354..3b54d9800 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 0a03ed82b..4a1b8829d 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 6c3d1f22d..cb8462b32 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) )