Skip to content
This repository was archived by the owner on Mar 24, 2025. It is now read-only.

Commit c6f64f6

Browse files
committed
fix: fix problems with React keys
1 parent 7fd326b commit c6f64f6

File tree

5 files changed

+16
-21
lines changed

5 files changed

+16
-21
lines changed

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/blocksToReactComponents.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ const blocksToReactComponents = (
4040
) => {
4141
const remappedContent = remapContent(blockList)
4242

43-
return remappedContent.map((block: IBlock) => {
44-
return blockRenderer(block, renderers)
45-
})
43+
return React.Children.toArray(
44+
remappedContent.map((block: IBlock) => {
45+
return blockRenderer(block, renderers)
46+
})
47+
)
4648
}
4749

4850
export default blocksToReactComponents

src/utils/TextRenderer.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ import React from "react"
22
import { IRichText } from "./UtilsInterfaces"
33

44
const TextRenderer = (text: Array<IRichText>) => {
5-
return text.map((textItem) => {
6-
if (textItem.href) {
7-
return <a href={textItem.href}>{textItem.text.content}</a>
8-
} else {
9-
return <span> {textItem.text.content}</span>
10-
}
11-
})
5+
return React.Children.toArray(
6+
text.map((textItem) => {
7+
if (textItem.href) {
8+
return <a href={textItem.href}>{textItem.text.content}</a>
9+
} else {
10+
return <span> {textItem.text.content}</span>
11+
}
12+
})
13+
)
1214
}
1315

1416
export default TextRenderer

src/utils/appendKeyToElement.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/utils/blockRenderer.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { appendKeyToElement } from "./appendKeyToElement"
21
import { IBlock, RenderNode } from "./UtilsInterfaces"
32

43
const blockRenderer = (block: IBlock, renderers?: RenderNode) => {
5-
return appendKeyToElement(renderers[block.type](block), block.id)
4+
return renderers[block.type](block)
65
}
76

87
export default blockRenderer

0 commit comments

Comments
 (0)