Здесь упрощенная версия моего установки:
PrettyPrint-Override ">
Код: Выделить всё
import ReactMarkdown from "react-markdown";
import remarkGfm from "remark-gfm";
import remarkMath from "remark-math";
import rehypeKatex from "rehype-katex";
import "katex/dist/katex.min.css";
import MdCode from "./MarkdownComponents/MdCode";
import MdImage from "./MarkdownComponents/MdImage";
const MarkdownRenderer = ({ content }) => {
return (
,
ul: ({ children }) => [list]{children}[/list],
ol: ({ children }) => [list]{children}[/list],
li: ({ children }) => [*]{children},
code({ node, inline, className, children, ...props }) {
const match = /language-(\w+)/.exec(className || "");
const lang = match?.[1];
return !inline && match ? (
{children}
) : (
{children}
},
}}
>
{content}
);
};
export default MarkdownRenderer;
Проблема, с которой я сталкиваюсь:
всякий раз, когда транслируется новая часть контента (из источника бэкэнд с использованием SSE), мои пользовательские компоненты маркировки повторно рендеринг Я не изменил их .
. Происходит.
Код: Выделить всё
MdImage
Код: Выделить всё
export default React.memo(MyComponent);
Мои вопросы:
использует React.memo во всех пользовательских компонентах в React-markdow React-markdown < /code> обрабатывает повторные рестораны с помощью пользовательских компонентов?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... act-memo-t