数组记录的定义

13 浏览
0 Comments

数组记录的定义

我有一个使用这些类型和接口的组件

import { FC } from 'react';
enum fieldTypes {
  Text = 'Text',
  DateTime = 'DateTime',
  Boolean = 'Boolean',
  Integer = 'Integer'
}
type Metadata = Record;
interface MetadataProperties {
    metaType: string;
    metadata: Array;
    dispatchSetProperty: (properties: any) => void;
}
const MetadataComponent: FC = ({ metaType, metadata, dispatchSetProperty }) => {...}

当我尝试执行以下操作时

const metadata = [
    {
      description: {
        type: fieldTypes.Text
      },
    },
    {
      title: {
        type: fieldTypes.Text
      }
    }
];

最后一行显示了一个错误

TS2322: 类型“({ description: { type: fieldTypes; }; title?: undefined; } | { title: { type: fieldTypes; }; description?: undefined; })[]”不能赋给类型“Record[]”。
  类型“{ description: { type: fieldTypes; }; title?: undefined; } | { title: { type: fieldTypes; }; description?: undefined; }”不能赋给类型“Record”。
    类型“{ description: { type: fieldTypes; }; title?: undefined; }”不能赋给类型“Record”。
      属性“title”与索引签名不兼容。
        类型“undefined”不能赋给类型“{ type: fieldTypes; widget?: string | undefined; }”。

我不明白出了什么问题。我已经将`metadata`声明为`Metadata`的数组,为什么会出错?

希望能得到解释。

0