Skip to content

Commit ccdd3c2

Browse files
committed
fix: unstable slug due to children changes
1 parent 6a0031a commit ccdd3c2

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

.changeset/heavy-crews-glow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@alauda/doom": patch
3+
---
4+
5+
fix: unstable slug due to children changes

src/runtime/components/_HeadingTitle.tsx

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,19 @@ export const HeadingTitle = ({
2323
return [null, X.h1, X.h2, X.h3, X.h4, X.h5, X.h6] as const
2424
}, [X])
2525
const HeadingComponent = HeadingComponents[level]
26+
const slugFromChildren = useMemo(
27+
() =>
28+
Children.toArray(children)
29+
.filter((it) => typeof it === 'string')
30+
.join(''),
31+
[children],
32+
)
2633
const id = useMemo(
2734
() =>
28-
[
29-
uid,
30-
slug ||
31-
slugger?.slug(
32-
Children.toArray(children)
33-
.filter((it) => typeof it === 'string')
34-
.join(''),
35-
),
36-
]
35+
[uid, slug || slugger?.slug(slugFromChildren)]
3736
.filter(Boolean)
3837
.join('-') || undefined,
39-
[slug, uid, children],
38+
[slug, uid, slugFromChildren],
4039
)
4140
return (
4241
<HeadingComponent id={id}>

0 commit comments

Comments
 (0)