Editor becomes unresponsive when content is long
tnhu opened this issue ยท 6 comments
Try on https://uiwjs.github.io/react-markdown-editor/ with a very long document (Let's say you duplicate the content until it reaches 1000 lines), the editor becomes slower and slower. If you double or triple the lines, it becomes very unresponsive. Type something and it shows up after some seconds.
I tested the same contents on https://codemirror.net/try/?example=Markdown%20code%20block%20highlighting. It does not have the same problem. I guess the issue stays in this library's implementation.
Note that I tested with Preview OFF, plus under an incognito Chrome window.
react-markdown-editor/src/index.tsx
Lines 192 to 198 in 2d3f450
@tnhu This is due to the rendering of long text by react-markdown
. Use renderPreview
to lazily load and display the markdown text.
@jaywcjlove I pass renderPreview
as an empty function. Test locally and the slowness is still there... Also FYI, I use 5.11.1
.
@tnhu Quick speed boost if you render custom
<MarkdownEditor
height={300}
value={markdown}
+ renderPreview={() => <div />}
/>
To improve performance, is it possible to disable renderPreview completely while preview section is not visible?
@jaywcjlove
import React from 'react';
import MarkdownEditor from '@uiw/react-markdown-editor';
const mdStr = `# This is a H1 \n## This is a H2 \n###### This is a H6`;
const Dome = () => {
return (
<MarkdownEditor
value={mdStr}
+ renderPreview={() => null}
onChange={(value, viewUpdate) => {
}}
/>
)
};
๐คฆโโ๏ธ thanks ๐๐