draft-js-utils
draft-js-utils copied to clipboard
Call Stack Exceeded on large HTML Imports
When trying to import lengthy html to draft state most browsers (Chrome, Firefox, Safari) crash with call stack exceeded error.
Steps to reproduce:
- (In a react app with react-draft-wysiwyg) in constructer convert html
- convert large html string (in my case 75,000+ characters) to draftjs using
stateFromHTML() - Import will not complete, giving:
RangeError: Maximum callstack size exceeded
To solve this I ended up using
import DraftPasteProcessor from 'draft-js/lib/DraftPasteProcessor'
const processedHTML = DraftPasteProcessor.processHTML(value);
const contentState = ContentState.createFromBlockArray(processedHTML);
editorState = EditorState.createWithContent(contentState);
From draftjs own utils.
Hey @skswanke, I just ran into a similar issue. Can you give https://github.com/sstur/draft-js-utils/pull/139 a try and check if this works for your use case as well?