From 5a46bec2698bf0cd06ef61ad625ba8462d042da0 Mon Sep 17 00:00:00 2001 From: endp01 <111888987+endp01@users.noreply.github.com> Date: Wed, 25 Sep 2024 14:05:58 +0200 Subject: [PATCH] Update Parser.tsx Assign a key to each parsed token to fix warning: "Each child in a list should have a unique "key" prop." --- src/lib/Parser.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/Parser.tsx b/src/lib/Parser.tsx index 9ebd2896..404c8b9e 100644 --- a/src/lib/Parser.tsx +++ b/src/lib/Parser.tsx @@ -6,6 +6,7 @@ import type { MarkedStyles } from "../theme/types"; import type { RendererInterface, ParserOptions, Token } from "./types"; import { getValidURL } from "./../utils/url"; import { getTableColAlignmentStyle } from "./../utils/table"; +import React from "react"; class Parser { private renderer: RendererInterface; @@ -32,9 +33,14 @@ class Parser { } private _parse(tokens: Token[], styles?: ViewStyle | TextStyle | ImageStyle) { - const elements: ReactNode[] = tokens.map((token) => { - return this._parseToken(token, styles); + const elements: ReactNode[] = tokens.map((token, index) => { + const element = this._parseToken(token, styles); + if (React.isValidElement(element)) { + return React.cloneElement(element, { key: `token-${index}` }); + } + return element; }); + return elements.filter((element) => element !== null); }