Skip to content

Commit 7ef1134

Browse files
committed
refactor: memoize calculations
1 parent 6a00192 commit 7ef1134

File tree

1 file changed

+4
-4
lines changed
  • packages/editor/src/core/extensions/custom-image/components/toolbar

1 file changed

+4
-4
lines changed

packages/editor/src/core/extensions/custom-image/components/toolbar/full-screen.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useCallback, useEffect, useState } from "react";
1+
import { useCallback, useEffect, useMemo, useState } from "react";
22
import { ExternalLink, Maximize, Minus, Plus, X } from "lucide-react";
33
// helpers
44
import { cn } from "@/helpers/common";
@@ -21,9 +21,9 @@ export const ImageFullScreenAction: React.FC<Props> = (props) => {
2121
// states
2222
const [magnification, setMagnification] = useState(1);
2323
// derived values
24-
const widthInNumber = Number(width.replace("px", ""));
25-
const heightInNumber = Number(height.replace("px", ""));
26-
const aspectRatio = widthInNumber / heightInNumber;
24+
const widthInNumber = useMemo(() => Number(width.replace("px", "")), [width]);
25+
const heightInNumber = useMemo(() => Number(height.replace("px", "")), [height]);
26+
const aspectRatio = useMemo(() => widthInNumber / heightInNumber, [heightInNumber, widthInNumber]);
2727
// close handler
2828
const handleClose = useCallback(() => {
2929
toggleFullScreenMode(false);

0 commit comments

Comments
 (0)