代码之家  ›  专栏  ›  技术社区  ›  Leo Messi

嵌套对象数组的Typescript接口

  •  0
  • Leo Messi  · 技术社区  · 4 年前

    const myProps = [
      {
        name: 'name1',
        on: true,
        children: [
          { name: 'test1', href: '#' },
          { name: 'test2', href: '#' },
          { name: 'test3', href: '#' }
        ]
      },
      {
        name: 'name2',
        on: false,
        children: [
          { name: 'test1', href: '#' },
          { name: 'test2', href: '#' },
          { name: 'test3', href: '#' },
          { name: 'test4', href: '#' },
          { name: 'test5', href: '#' }
        ]
      },
      {
        name: 'name3',
        on: false,
        children: [{ name: 'test1', href: '#' }]
      }
    ];
    

    我想为它创建一个界面,以便在React+Typescript应用程序中使用。

    这是迄今为止的界面:

    export interface IChildren {
      name: string,
      href: string
    }
    
    export interface IMyProps {
      name: string,
      on: boolean,
      children: IChildren,
    }
    

    1 回复  |  直到 4 年前
        1
  •  1
  •   Sohan    4 年前

    你可以这样试试,

     export interface CommonProps {
        name: string;
        href: string;
    }
    
    export interface MyProps {
        name: string;
        on: boolean;
        children: Array<CommonProps>;
    }
    

    另请注意,数据接口不应以命名约定开始 "I" “我” 喜欢 IMethodService