【问题标题】:Typescript: Intersection Type any object and options打字稿:交集键入任何对象和选项
【发布时间】:2022-11-18 14:44:27
【问题描述】:

我想用任何道具制作类型,选项必须是数字

type PropsWithOption = object & {option?:number}
const props:PropsWithOption = {anyProp1:'',anyProp2:'',option:5}

但是,这会出错并且 PropsWithOption 类型应该是空对象或只有选项 {} 的对象 {option:number}

我该如何解决?

谢谢

type PropsWithOption = object & {option?:number}
// I tried below codes also, but they throws same errors 
// type PropsWithOption = Object & {option?:number}
// type PropsWithOption = {} & {option?:number}
const props:PropsWithOption = {anyProp1:'',anyProp2:'',option:5}

【问题讨论】:

    标签: typescript


    【解决方案1】:

    你应该使用Index Signatures

    type PropsWithOption = {
      option?: number;
      [prop: string]: any;
    };
    

    TypeScript Playground

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-17
      • 2017-02-18
      • 1970-01-01
      • 2018-12-29
      • 2019-10-03
      • 2021-03-04
      • 2021-06-28
      • 2021-03-09
      相关资源
      最近更新 更多