Verwendung

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>
  );
}

Signaturen

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

Typparameter

NameEinschränkungStandard
Aunknown[]—
T——

Parameter

NameTypErforderlichBeschreibung
workTaskWork<A, T>Ja—
optionsTaskOptionsNein—
Standard: {}
namestringNein—

Rückgabe

Task<A, T>

Generiert aus den öffentlichen TypeScript-Deklarationen: Signaturen, Props und Standardwerte stammen aus der geprüften Quelle, Beschreibungen aus deren JSDoc. Kein Standardwert ist erfunden.