Utilisation

Save without submitting twice

tsx
import { Button, Text, VStack, task } from 'kuito';

export function SaveButton(props: { save: () => Promise<void> }) {
  const save = task(() => props.save(), { policy: 'drop' });
  return (
    <VStack gap={8}>
      <Button disabled={save.running.value} onPress={() => void save.run().catch(() => {})}>
        {save.running.value ? 'Saving…' : 'Save changes'}
      </Button>
      <Text>{save.error.value ? 'Save failed. Try again.' : ''}</Text>
    </VStack>
  );
}

Signatures

ts
<A extends unknown[], T>(work: TaskWork<A, T>, options?: TaskOptions, name?: string): Task<A, T>

Paramètres de type

NomContraintePar défaut
Aunknown[]—
T——

Paramètres

NomTypeRequisDescription
workTaskWork<A, T>Oui—
optionsTaskOptionsNon—
Par défaut: {}
namestringNon—

Retourne

Task<A, T>

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.