From 57d6889826a485371c007155d2dc1347757bd000 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Fri, 12 Jul 2024 13:35:43 +0800 Subject: [PATCH] Test memoize Media --- src/components/media.jsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/media.jsx b/src/components/media.jsx index 2e0db047..2ca4acc1 100644 --- a/src/components/media.jsx +++ b/src/components/media.jsx @@ -1,5 +1,6 @@ import { getBlurHashAverageColor } from 'fast-blurhash'; import { Fragment } from 'preact'; +import { memo } from 'preact/compat'; import { useCallback, useLayoutEffect, @@ -676,4 +677,14 @@ function getURLObj(url) { return URL.parse(url, location.origin); } -export default Media; +export default memo(Media, (oldProps, newProps) => { + const oldMedia = oldProps.media || {}; + const newMedia = newProps.media || {}; + + return ( + oldMedia?.id === newMedia?.id && + oldMedia.url === newMedia.url && + oldProps.to === newProps.to && + oldProps.class === newProps.class + ); +});