From fc0f7bbf9c871464cc5e8727a12c5d3d742334a5 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Fri, 1 Nov 2024 01:42:24 +0000 Subject: [PATCH] Check cache early --- src/view/com/util/images/AutoSizedImage.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/view/com/util/images/AutoSizedImage.tsx b/src/view/com/util/images/AutoSizedImage.tsx index 4453304e4f..8e1847dbfd 100644 --- a/src/view/com/util/images/AutoSizedImage.tsx +++ b/src/view/com/util/images/AutoSizedImage.tsx @@ -21,9 +21,10 @@ export function useImageAspectRatio({ src: string dimensions: Dimensions | undefined }) { - const [raw, setAspectRatio] = React.useState( - dimensions ? calc(dimensions) : undefined, - ) + const [raw, setAspectRatio] = React.useState(() => { + const dims = dimensions ?? imageSizes.get(src) + return dims ? calc(dims) : undefined + }) let constrained: number | undefined let max: number | undefined @@ -37,7 +38,7 @@ export function useImageAspectRatio({ React.useEffect(() => { let aborted = false - if (dimensions) return + if (raw !== undefined) return imageSizes.fetch(src).then(newDim => { if (aborted) return setAspectRatio(calc(newDim)) @@ -45,7 +46,7 @@ export function useImageAspectRatio({ return () => { aborted = true } - }, [dimensions, setAspectRatio, src]) + }, [raw, setAspectRatio, src]) return { dimensions,