1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-05-03 01:18:43 +02:00

fix: add missing refetch after feature strategy create/edit (#909)

This commit is contained in:
olav 2022-04-26 11:21:35 +02:00 committed by GitHub
parent 8f1900f32b
commit 5785557af8

View File

@ -6,6 +6,7 @@ import {
IFeatureResponse, IFeatureResponse,
featureFetcher, featureFetcher,
formatFeatureApiPath, formatFeatureApiPath,
useFeature,
} from 'hooks/api/getters/useFeature/useFeature'; } from 'hooks/api/getters/useFeature/useFeature';
// useFeatureImmutable is like useFeature, except it won't refetch data on // useFeatureImmutable is like useFeature, except it won't refetch data on
@ -15,6 +16,7 @@ export const useFeatureImmutable = (
projectId: string, projectId: string,
featureId: string featureId: string
): IUseFeatureOutput => { ): IUseFeatureOutput => {
const { refetchFeature } = useFeature(projectId, featureId);
const path = formatFeatureApiPath(projectId, featureId); const path = formatFeatureApiPath(projectId, featureId);
const { data, error, mutate } = useSWRImmutable<IFeatureResponse>( const { data, error, mutate } = useSWRImmutable<IFeatureResponse>(
@ -22,13 +24,14 @@ export const useFeatureImmutable = (
() => featureFetcher(path) () => featureFetcher(path)
); );
const refetchFeature = useCallback(() => { const refetch = useCallback(async () => {
mutate().catch(console.warn); await mutate();
}, [mutate]); await refetchFeature();
}, [mutate, refetchFeature]);
return { return {
feature: data?.body || emptyFeature, feature: data?.body || emptyFeature,
refetchFeature, refetchFeature: refetch,
loading: !error && !data, loading: !error && !data,
status: data?.status, status: data?.status,
error, error,