Как мне создать новый объект из состояний в React с машинописью? - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть состояние в реакции, содержащее массив файлов. Как я могу вместо этого создать новый объект типа DocumentRequestModel? Это то, что я получил до сих пор. документы - это мое состояние, содержащее мои файлы.

export class DocumentRequestModel implements IDocumentRequestModel {
Data!: string;
FileName!: string;
...

Это то, что я получил до сих пор, но я получаю сообщение об ошибке: Тип '(строка | undefined) [] [] | undefined »нельзя назначить типу« DocumentRequestModel ». Тип «undefined» нельзя назначить типу «DocumentRequestModel».

const documentModel: DocumentRequestModel = documents?.map(document => [
  document.preview,
  document.name
]);

Так выглядят документы.

  0: File
    name: "BOM_BR4666_PROJECTTYPE F_04_06_2020.xlsx"
    lastModified: 1586170093516
    lastModifiedDate: Mon Apr 06 2020 12:48:13 GMT+0200 (Central European Summer Time) {}
    webkitRelativePath: ""
    size: 3948
    type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    preview: "blob:http://localhost:4000/6d4be14b-0c09-45f9-b2c3-50

1 Ответ

0 голосов
/ 21 апреля 2020

Вы можете сделать это:

const [docModel,setDocModel] = React.useState<DocumentRequestModel>()

или вы хотите определить его в массиве

const docModel = new Array<DocumentRequestModel>()

и в вас отображение, документы могут быть неопределенными. Возможно, вы захотите проверить, не является ли он неопределенным, прежде чем вызывать функцию карты

const documentModel: Array<DocumentRequestModel> = documents && documents.map(document => [
  document.preview,
  document.name
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...