Skip to content

Prefetch JS

The family of prefetch components can be used to improve performance when navigating in a page by prefetching content for the target links.

Table of content

Usage

Import one of the available prefetch component in you app and use them in your HTML to enable a performance boost while navigating between pages.

js
import { 
Base
,
createApp
} from '@studiometa/js-toolkit';
import {
PrefetchWhenOver
,
PrefetchWhenVisible
} from '@studiometa/ui';
class
App
extends
Base
{
static
config
= {
name
: 'App',
components
: {
PrefetchWhenOver
,
PrefetchWhenVisible
,
}, }; } export default
createApp
(
App
);
html
<!-- Will be prefetched on mouseenter -->
<a href="/path" data-component="PrefetchWhenOver">...</a>

<!-- Will be prefetched when visible in the viewport -->
<a href="/path" data-component="PrefetchWhenVisible">...</a>

Create your own prefetch strategy

If you need a custom strategy to prefetch a given link, you can extend the AbstractPrefetch class exported by the package and call its prefetch() method when needed.

js
import { 
AbstractPrefetch
} from '@studiometa/ui';
export default class
PrefetchOnPointerdown
extends
AbstractPrefetch
{
static
config
= {
name
: 'AbstractPrefetch',
};
onPointerdown
() {
this.
prefetch
();
} }