我正在尝试从payload
联合类型中提取Actions
,但不知道在Typescript
中是否可行。
所以,下面是我要实现的目标。
type Actions = { type: "INIT", payload: { x: string }} | { type: "CLOSE", payload: { y: number }};
type ExtractPayload<T> = // how to extract payload given action type as `T`
function doSomething<T extends Actions["type"]>(type: T, payload: ExtractPayload<T>) {
// ...
}
答案 0 :(得分:1)
您可以使用php artisan image:upload image_path
条件类型从联合中提取适当的Action类型,然后使用类型查询来获取Extarct
属性的类型:
payload