From d1691d60f97daeb6bbb17daa8787ed8fce8a117f Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 10 Dec 2024 13:04:06 +0100 Subject: [PATCH] chore: don't fail if the apiRef is missing Signed-off-by: blam --- .../scaffolder-react/src/hooks/useCustomFieldExtensions.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/scaffolder-react/src/hooks/useCustomFieldExtensions.ts b/plugins/scaffolder-react/src/hooks/useCustomFieldExtensions.ts index d1e670330e..cd67b33753 100644 --- a/plugins/scaffolder-react/src/hooks/useCustomFieldExtensions.ts +++ b/plugins/scaffolder-react/src/hooks/useCustomFieldExtensions.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { useAsync, useMountEffect } from '@react-hookz/web'; -import { useApi, useElementFilter } from '@backstage/core-plugin-api'; +import { useApiHolder, useElementFilter } from '@backstage/core-plugin-api'; import { formFieldsApiRef } from '../next'; import { FieldExtensionOptions } from '../extensions'; import { @@ -33,9 +33,10 @@ export const useCustomFieldExtensions = < outlet: React.ReactNode, ) => { // Get custom fields created with FormFieldBlueprint - const formFieldsApi = useApi(formFieldsApiRef); + const apiHolder = useApiHolder(); + const formFieldsApi = apiHolder.get(formFieldsApiRef); const [{ result: blueprintFields }, methods] = useAsync( - formFieldsApi.getFormFields, + formFieldsApi?.getFormFields ?? (async () => []), [], ); useMountEffect(methods.execute);