Lazy loading is a strategy to identify resources as non-blocking and load them only when needed. It's a way to shorten the length of the critical rendering path, which translates into reduced page load times.

You should load images only when they're needed on a page, and consider using placeholders until customers scroll down the page. This can also help with perceived performance as the page looks like it’s loading quicker than it actually is. Rather than using a library, you should set your img or srcset's loading attribute to lazy.

You should apply loading="lazy" only to elements that aren't initially visible when the page loads. Only images that require user interaction can be safely lazy loaded without negatively impacting the rendering performance. For example, user interactions might include clicking, hovering, or scrolling.