类型不是装饰
业务里的 TypeScript 不需要把每一行都写成谜题。它真正有价值的位置,是接口边界、异步错误、配置对象、数据转换和重构热点。
五个取舍
- 不在组件内部过度建模
- 对 API 响应做明确窄化
- 让错误类型可读
- 用联合类型表达业务状态
- 给公共函数更稳定的输入输出
type LoadState =
| { status: "idle" }
| { status: "loading" }
| { status: "done"; data: Post[] }
| { status: "failed"; message: string };小结
类型应该让下一次修改更安心,而不是让第一次开发更费劲。