useMemo in Avatar

This commit is contained in:
Martti Malmi
2024-01-02 00:25:44 +02:00
parent 13fc3bb843
commit 4bbad0563b

View File

@ -1,6 +1,6 @@
import "./Avatar.css"; import "./Avatar.css";
import { ReactNode, useEffect, useState } from "react"; import {ReactNode, useMemo} from "react";
import type { UserMetadata } from "@snort/system"; import type { UserMetadata } from "@snort/system";
import classNames from "classnames"; import classNames from "classnames";
@ -31,10 +31,8 @@ const Avatar = ({
className, className,
showTitle = true, showTitle = true,
}: AvatarProps) => { }: AvatarProps) => {
const [url, setUrl] = useState(""); const url = useMemo(() => {
return image ?? user?.picture ?? defaultAvatar(pubkey);
useEffect(() => {
setUrl(image ?? user?.picture ?? defaultAvatar(pubkey));
}, [user, image, pubkey]); }, [user, image, pubkey]);
const s = size ?? 120; const s = size ?? 120;