Utilisation

Reveal a profile after its resource settles

Ce type est utilisé par Catch

tsx
import { Catch, Loading, Spinner, Text, resource } from 'kuito';

function Profile() {
  const profile = resource(async ({ signal }) => {
    const response = await fetch('https://example.com/api/profile', { signal });
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return (await response.json()) as { name: string };
  });
  return <Text>{profile.data.value?.name ?? ''}</Text>;
}

export function Account() {
  return (
    <Catch fallback={<Text>Profile unavailable</Text>}>
      <Loading fallback={<Spinner />}>
        <Profile />
      </Loading>
    </Catch>
  );
}

Déclaration du type

ts
export interface CatchProps extends ElementAttributes {
  /** Shown in place of children that threw: an element, or one made from the error. */
  fallback: KuitoNode | ((error: unknown, retry: () => void) => KuitoNode);
  children?: KuitoNode;
}

Membres 3

NomTypeRequisDescription
fallbackKuitoNode | ((error: unknown, retry: () => void) => KuitoNode)OuiShown in place of children that threw: an element, or one made from the error.
childrenKuitoNodeNon—
keystring | numberNon—
Généré depuis les déclarations TypeScript publiques : signatures, props et valeurs par défaut viennent de la source vérifiée, les descriptions de sa JSDoc. Aucune valeur par défaut n'est inventée.