fix: handle error when definition load fails

This commit is contained in:
Alex Varchuk 2022-05-05 14:31:19 +03:00
parent 186f5a98bd
commit d25f06017d

View File

@ -33,6 +33,10 @@ export function StoreBuilder(props: StoreBuilderProps) {
const { spec, specUrl, options, onLoaded, children } = props;
const [resolvedSpec, setResolvedSpec] = React.useState<any>(null);
const [error, setError] = React.useState<Error | null>(null);
if (error) {
throw error;
}
React.useEffect(() => {
async function load() {
@ -40,8 +44,13 @@ export function StoreBuilder(props: StoreBuilderProps) {
return undefined;
}
setResolvedSpec(null);
const resolved = await loadAndBundleSpec(spec || specUrl!);
setResolvedSpec(resolved);
try {
const resolved = await loadAndBundleSpec(spec || specUrl!);
setResolvedSpec(resolved);
} catch (e) {
setError(e);
throw e;
}
}
load();
}, [spec, specUrl]);