Alerting: Fix infinite re-render when linking to alert redirect page (#84305)

fix: move where the fallback array is initialized so not to create an infinite re-render
This commit is contained in:
Chris Bedwell 2024-03-15 22:57:31 +00:00 committed by GitHub
parent d0885ffdaa
commit 9c7a5ed506
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -67,7 +67,7 @@ export function useCloudCombinedRulesMatching(
const { dsFeatures, isLoadingDsFeatures } = useDataSourceFeatures(ruleSourceName);
const {
currentData: promRuleNs = [],
currentData,
isLoading: isLoadingPromRules,
error: promRuleNsError,
} = alertRuleApi.endpoints.prometheusRuleNamespaces.useQuery({
@ -87,6 +87,7 @@ export function useCloudCombinedRulesMatching(
if (promRuleNsError) {
throw new Error('Unable to obtain Prometheus rules');
}
const promRuleNs = currentData || [];
const rulerGroups: RulerRuleGroupDTO[] = [];
if (dsFeatures?.rulerConfig) {
@ -114,7 +115,7 @@ export function useCloudCombinedRulesMatching(
const rules = namespaces.flatMap((ns) => ns.groups.flatMap((group) => group.rules));
return rules;
}, [dsSettings, dsFeatures, isLoadingPromRules, promRuleNsError, promRuleNs, fetchRulerRuleGroup]);
}, [dsSettings, dsFeatures, isLoadingPromRules, promRuleNsError, currentData, fetchRulerRuleGroup]);
return { loading: isLoadingDsFeatures || loading, error: error, rules: value };
}