Can't update editorState without re-rendering

26 views Asked by At

I try to toggle unstyled block after clicking on h1 tag.I'm using draftjs-editor and getElementsByTagName method. But when I click on h1 block my text just diappear.I know it's because my state re-renders when I try to toggle unstyled block,but I don't khow how can I update block type without re-rendering state. It's my code:

 const handleClickOutside = useCallback(() => {
            
            const contentElement = document.querySelector('.DraftEditor-root');
            if (contentElement) {
                const currentTag = contentElement.getElementsByTagName('h1');
                if (currentTag[0]) {
                    onEditorStateChange(RichUtils.toggleBlockType(editorState, 'unstyled'));
                } else {
                    console.log('clicked outside');
                    
                }
            }
            
            
        }, []);
        
        
        useEffect(() => {
            document.addEventListener('click', handleClickOutside, true);
        }, [handleClickOutside]);

I was trying to remove useCallback hook,but it still doesn`t work.I will be very appriciated for any help.

0

There are 0 answers