From bde6e80476ee0ba7a14c8c7625b51de9e58bb170 Mon Sep 17 00:00:00 2001 From: gyh9457 Date: Fri, 6 Aug 2021 01:42:41 +0800 Subject: [PATCH] fix(slate-react): use Text.equals to compare leaf (#4175) * fix(slate-react): use Text.equals to compare leaf * refactor(slate-react): simplify MenoizedLeaf logic * Create breezy-lizards-travel.md * Update packages/slate-react/src/components/leaf.tsx Co-authored-by: Ian Storm Taylor Co-authored-by: Dylan Schiemann --- .changeset/breezy-lizards-travel.md | 5 +++++ packages/slate-react/src/components/leaf.tsx | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .changeset/breezy-lizards-travel.md diff --git a/.changeset/breezy-lizards-travel.md b/.changeset/breezy-lizards-travel.md new file mode 100644 index 000000000..6f4f0b6c0 --- /dev/null +++ b/.changeset/breezy-lizards-travel.md @@ -0,0 +1,5 @@ +--- +'slate-react': patch +--- + +Fixed a bug in the memoization logic for the leaves of text nodes. diff --git a/packages/slate-react/src/components/leaf.tsx b/packages/slate-react/src/components/leaf.tsx index b3b7996ab..dcb6c4fa1 100644 --- a/packages/slate-react/src/components/leaf.tsx +++ b/packages/slate-react/src/components/leaf.tsx @@ -104,7 +104,6 @@ const MemoizedLeaf = React.memo(Leaf, (prev, next) => { next.renderLeaf === prev.renderLeaf && next.renderPlaceholder === prev.renderPlaceholder && next.text === prev.text && - next.leaf.text === prev.leaf.text && Text.equals(next.leaf, prev.leaf) && next.leaf[PLACEHOLDER_SYMBOL] === prev.leaf[PLACEHOLDER_SYMBOL] )