refetchRouteData
refetchRouteData
allows you to refetch your route data.
tsx
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
()
tsx
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
()
Usage
Refetching all current route data
Route data is most commonly invalidated and refetched when we perform route actions. However, sometimes we wish to refetch the data manually. The easiest way is to execute refetchRouteData
with no arguments.
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
} from 'solid-start';
// refetch all the resources created with createRouteData
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
()
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
} from 'solid-start';
// refetch all the resources created with createRouteData
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
()
Refetching specific route data
Additionally refetchRouteData
accept a key
as an argument to refetch specific route data. These keys can be strings, or arrays containing strings and objects. Keys will be compared with partial matching, making it easier to refetch groups of route data resources at once.
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
, createRouteData(alias) function createRouteData<T, S = true>(fetcher: RouteDataFetcher<S, T>, options?: RouteDataOptions<undefined, S>): Resource<T | undefined> (+1 overload)
import createRouteData
} from 'solid-start';
const allStudentsconst allStudents: Resource<void | undefined>
= createRouteData(alias) createRouteData<void, string[]>(fetcher: RouteDataFetcher<string[], void>, options?: RouteDataOptions<undefined, string[]> | undefined): Resource<void | undefined> (+1 overload)
import createRouteData
( fetchStudentsfunction fetchStudents(): void
, { key(property) key?: RouteDataSource<string[]>
: ['students'] } );
const gryffindorStudentsconst gryffindorStudents: Resource<void | undefined>
= createRouteData(alias) createRouteData<void, (string | {
house: string;
})[]>(fetcher: RouteDataFetcher<(string | {
house: string;
})[], void>, options?: RouteDataOptions<undefined, (string | {
house: string;
})[]> | undefined): Resource<...> (+1 overload)
import createRouteData
( fetchStudentsfunction fetchStudents(): void
, { key(property) key?: RouteDataSource<(string | {
house: string;
})[]>
: ['students', { house: 'gryffindor' }] });
// reload all route data with students in the key,
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(['students']); // refetches both allStudents and gryffindorStudents
// reload route data for route data with a key of house gryffindor
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(['students', { house: 'gryffindor' }]); // refetches gryffindorStudents only
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
, createRouteData(alias) function createRouteData<T, S = true>(fetcher: RouteDataFetcher<S, T>, options?: RouteDataOptions<undefined, S>): Resource<T | undefined> (+1 overload)
import createRouteData
} from 'solid-start';
const allStudentsconst allStudents: Resource<void | undefined>
= createRouteData(alias) createRouteData<void, string[]>(fetcher: RouteDataFetcher<string[], void>, options?: RouteDataOptions<undefined, string[]> | undefined): Resource<void | undefined> (+1 overload)
import createRouteData
( fetchStudentsfunction fetchStudents(): void
, { key(property) key?: RouteDataSource<string[]>
: ['students'] } );
const gryffindorStudentsconst gryffindorStudents: Resource<void | undefined>
= createRouteData(alias) createRouteData<void, (string | {
house: string;
})[]>(fetcher: RouteDataFetcher<(string | {
house: string;
})[], void>, options?: RouteDataOptions<undefined, (string | {
house: string;
})[]> | undefined): Resource<...> (+1 overload)
import createRouteData
( fetchStudentsfunction fetchStudents(): void
, { key(property) key?: RouteDataSource<(string | {
house: string;
})[]>
: ['students', { house: 'gryffindor' }] });
// reload all route data with students in the key,
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(['students']); // refetches both allStudents and gryffindorStudents
// reload route data for route data with a key of house gryffindor
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(['students', { house: 'gryffindor' }]); // refetches gryffindorStudents only
Reference
refetchRouteData(keys)
Call retchRouteData()
to refetch either all the route data on the page, or specific ones based on the key
.
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
} from "solid-start";
// refetch all
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
();
// refetch route data for user 123
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(["users", { id: 123 }]);
// refetch route data pertaining to users
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(["users"]);
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
} from "solid-start";
// refetch all
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
();
// refetch route data for user 123
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(["users", { id: 123 }]);
// refetch route data pertaining to users
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): Promise<void>
import refetchRouteData
(["users"]);