refactor: avator src
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { FC, ImgHTMLAttributes, useEffect, useState } from "react";
|
import { FC, ImgHTMLAttributes, useState } from "react";
|
||||||
import { getInitials } from "../utils";
|
import { getInitials } from "../utils";
|
||||||
|
|
||||||
interface Props extends ImgHTMLAttributes<HTMLImageElement> {
|
interface Props extends ImgHTMLAttributes<HTMLImageElement> {
|
||||||
@@ -29,17 +29,12 @@ const Avatar: FC<Props> = ({
|
|||||||
height,
|
height,
|
||||||
...rest
|
...rest
|
||||||
}) => {
|
}) => {
|
||||||
const [avatarSrc, setAvatarSrc] = useState("");
|
const [error, setError] = useState(false);
|
||||||
useEffect(() => {
|
|
||||||
if (src) {
|
|
||||||
setAvatarSrc(src);
|
|
||||||
}
|
|
||||||
}, [src]);
|
|
||||||
const handleError = () => {
|
const handleError = () => {
|
||||||
setAvatarSrc("");
|
setError(true);
|
||||||
};
|
};
|
||||||
if (avatarSrc) {
|
if (!error && src) {
|
||||||
return <img width={width} height={height} src={avatarSrc} onError={handleError} {...rest} />;
|
return <img width={width} height={height} src={src} onError={handleError} {...rest} />;
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
|
|||||||
Reference in New Issue
Block a user