类型不是装饰

业务里的 TypeScript 不需要把每一行都写成谜题。它真正有价值的位置,是接口边界、异步错误、配置对象、数据转换和重构热点。

五个取舍

  • 不在组件内部过度建模
  • 对 API 响应做明确窄化
  • 让错误类型可读
  • 用联合类型表达业务状态
  • 给公共函数更稳定的输入输出
type LoadState =
  | { status: "idle" }
  | { status: "loading" }
  | { status: "done"; data: Post[] }
  | { status: "failed"; message: string };

小结

类型应该让下一次修改更安心,而不是让第一次开发更费劲。