AzureMonitor: Fix crash from infinite render loop (#37924)

This commit is contained in:
Josh Hunt 2021-08-17 11:50:37 +01:00 committed by GitHub
parent 697ac937c6
commit 368da73ac4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -69,10 +69,15 @@ export const useSubscriptions: DataHook = (query, datasource, onChange, setError
);
useEffect(() => {
if (!subscription && defaultSubscription && hasOption(subscriptionOptions, defaultSubscription)) {
onChange(setSubscriptionID(query, defaultSubscription));
} else if ((!subscription && subscriptionOptions.length) || subscriptionOptions.length === 1) {
onChange(setSubscriptionID(query, subscriptionOptions[0].value));
// Return early if subscriptions havent loaded, or if the query already has a subscription
if (!subscriptionOptions.length || (subscription && hasOption(subscriptionOptions, subscription))) {
return;
}
const defaultSub = defaultSubscription || subscriptionOptions[0].value;
if (!subscription && defaultSub && hasOption(subscriptionOptions, defaultSub)) {
onChange(setSubscriptionID(query, defaultSub));
}
}, [subscriptionOptions, query, subscription, defaultSubscription, onChange]);