useInvalidate
useInvalidate
can be used to invalidate the state of a particular resource
or dataProvider
(with dataProviderName).
For example, creating a Posts
with useCreate hook will invalidate the list
(useList) and many
(useMany) state of the Posts
resource.
The hook is used internal in refine. Normally you don't need this hook, but we export it as it may be useful for some use-cases.
import { useInvalidate } from "@pankod/refine-core";
const invalidate = useInvalidate();
// To invalidate the list and many states of the Posts resource
invalidate({
resource: "posts",
invalidates: ["list", "many"]
});
// To invalidate the state of a Posts with an id of 1
invalidate({
resource: "posts",
invalidates: ["detail"],
id: 1,
});
// To invalidate the list and many states of the Posts resource of the dataProvider named "second-data-provider"
invalidate({
resource: "posts",
dataProviderName: "second-data-provider",
invalidates: ["list"],
});
// To invalidate all states of dataprovider named "second-data-provider"
invalidate({
dataProviderName: "second-data-provider",
invalidates: ["all"],
});
API Reference
Properties
Property | Description | Type | Default |
---|---|---|---|
invalidates Required | The states you want to invalidate. | all , resourceAll , list , many , detail , false | |
resource | Resource name for State invalidation. | string | |
id | The id to use when invalidating the "detail" state. | BaseKey | |
dataProviderName | The name of the data provider whose state you want to invalidate. | string | default |