Skip to content

Instantly share code, notes, and snippets.

@treckstar
Created April 6, 2023 18:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save treckstar/1293859c06acb37398884120f693a8b7 to your computer and use it in GitHub Desktop.
Save treckstar/1293859c06acb37398884120f693a8b7 to your computer and use it in GitHub Desktop.
Class based Image loader
import React from "react";
import { Image, ImageProps } from "next/image";
type ImageLoaderProps = Omit<ImageProps, "src"> & {
src: string;
};
class ImageLoader extends React.Component<ImageLoaderProps> {
public loader({ src, width, quality }: ImageLoaderProps): string {
return `${src}?w=${width}&q=${quality || 75}`;
}
public render(): JSX.Element {
const { src, ...props } = this.props;
return <Image loader={this.loader} src={src} {...props} />;
}
}
export default ImageLoader;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment