Receber por email
← Voltar para o catálogo

async-state-type

Avoid contradictory state types for async data fetching. Use Suspense or discriminated unions instead. Use when writing or reviewing async data fetching code in React/TypeScript.

3estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: Apache-2.0

Como adicionar

/plugin marketplace add ncaq/konoka

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/async-state-type/svg)](https://www.skillteca.com.br/skills/async-state-type)

Skills relacionadas

Ver todas de Dados e Análise →

Alerta por categoria

Receba novas skills de Dados e Análise toda segunda

1 email curto, só com as skills novas de Dados e Análise. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

非同期データ取得の型設計

矛盾した状態を許容する型を避ける

非同期データ取得において以下のような型設計は避けてください。

// Bad: dataにアクセス可能なのにloading/errorも同時に存在しうる
type AsyncState<T> = {
  data: T | undefined;
  loading: boolean;
  error: Error | undefined;
};

この型は以下の問題を持ちます。

  • dataが存在するのにloading: trueという矛盾した状態を型が許容します
  • dataとerrorが同時に存在する状態を型が許容します
  • 実行時の状態遷移に依存しており、型レベルでの安全性がありません

推奨されるアプローチ

Suspenseパターンを使う

React Suspenseを使えば、ローディング中はコンポーネントがレンダリングされないため、 dataの型が確定します。

// Good: useSuspenseQueryは

[Description truncada. Veja o README completo no GitHub.]
Compartilhar X LinkedIn