Fix state update after component unmounted (#2857)

Co-authored-by: Andrii Savluk <a.savluk@ideil.com>
This commit is contained in:
SavKS
2022-06-24 18:46:54 +03:00
committed by GitHub
parent e4a81c1460
commit 8e65c20815

View File

@@ -14,6 +14,8 @@ export const useEditor = (options: Partial<EditorOptions> = {}, deps: Dependency
const forceUpdate = useForceUpdate() const forceUpdate = useForceUpdate()
useEffect(() => { useEffect(() => {
let isMounted = true
const instance = new Editor(options) const instance = new Editor(options)
setEditor(instance) setEditor(instance)
@@ -21,13 +23,16 @@ export const useEditor = (options: Partial<EditorOptions> = {}, deps: Dependency
instance.on('transaction', () => { instance.on('transaction', () => {
requestAnimationFrame(() => { requestAnimationFrame(() => {
requestAnimationFrame(() => { requestAnimationFrame(() => {
if (isMounted) {
forceUpdate() forceUpdate()
}
}) })
}) })
}) })
return () => { return () => {
instance.destroy() instance.destroy()
isMounted = false
} }
}, deps) }, deps)