diff --git a/src/renderer/components/primitives/EmojiText.tsx b/src/renderer/components/primitives/EmojiText.tsx index 775964c17..43a607784 100644 --- a/src/renderer/components/primitives/EmojiText.tsx +++ b/src/renderer/components/primitives/EmojiText.tsx @@ -1,22 +1,33 @@ import { type FC, useEffect, useRef } from 'react'; import { convertTextToEmojiImgHtml } from '../../utils/emojis'; - export interface IEmojiText { text: string; } - export const EmojiText: FC = ({ text }) => { - const ref = useRef(null); + const ref = useRef(null); + const mountedRef = useRef(true); useEffect(() => { + mountedRef.current = true; + const updateEmojiText = async () => { + const emojiHtml = await convertTextToEmojiImgHtml(text); + + if (!mountedRef.current) { + return; + } + if (ref.current) { - const emojiHtml = await convertTextToEmojiImgHtml(text); ref.current.innerHTML = emojiHtml; } }; + updateEmojiText(); + + return () => { + mountedRef.current = false; + }; }, [text]); return
;