我正在尝试让一些条件输入发挥作用,但不确定我的想法是否可行。就这样:
type AParams = {
hello: string
}
type BParams = {
world: string
}
type Data = {
name: "a" | "b",
data: AParams | BParams
}
取决于name
是a
或b
我想强制执行data
要么输入 AParams
或BParams
, 分别。有什么办法可以用 TypeScript 来完成这个任务吗?
最佳答案
您可以针对两种情况使用两种不同的接口(interface),例如:
interface AData {
name: "a",
data: AParams
}
interface BData {
name: "b",
data: BParams
}
然后使用联合类型设置Data
,例如:
type Data = AData | BData;
关于javascript - TypeScript:同一类型/接口(interface)内的条件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61499412/