refetchRouteData
refetchRouteData
allows you to refetch your route data
tsx
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
()
tsx
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): 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 execute refetchRouteData
with no arguments.
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
} from 'solid-start'
// refetch all the resources created with createRouteData
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
()
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
} from 'solid-start'
// refetch all the resources created with createRouteData
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): 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): 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): 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): void
import refetchRouteData
(['students', { house: 'gryffindor' }]); // refetches gryffindorStudents only
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): 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): 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): 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): void
import refetchRouteData
} from "solid-start";
// refetch all
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
();
// refetch route data for user 123
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
(["users", { id: 123 }]);
// refetch route data pertaining to users
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
(["users"]);
tsx
import { refetchRouteData(alias) function refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
} from "solid-start";
// refetch all
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
();
// refetch route data for user 123
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
(["users", { id: 123 }]);
// refetch route data pertaining to users
refetchRouteData(alias) refetchRouteData(key?: string | void | any[] | undefined): void
import refetchRouteData
(["users"]);