Поток: объединение точных типов объектов

#javascript #flowtype

#javascript #flowtype

Вопрос:

У меня есть два типа, один расширяет другой, используя тип объекта spread и добавляет необязательное свойство AccountPayload и Route в моем случае.

Мне непонятно, почему я не могу использовать объект AccountPayload типа, когда Route ожидается.

 // @flow

export type AccountPayload = {|
   organisationId: string,
   userIndex: number
|};

type Route = {|
  ...AccountPayload, 
   chatUuid?: string
|};

const payload: AccountPayload = {
  organisationId: '*',
  userIndex: 1
};

const routeF: Route = payload;      // error
const routeS: Route = {...payload}; // ok
  

Попробуйте flow здесь

Комментарии:

1. Я считаю, что это ошибка, которая будет исправлена этим PR github.com/facebook/flow/pull/7298