В документации Flow сказано: When you create an object without any properties, you create an unsealed object type in Flow.
Можно ли создать запечатанный объект без свойств?
Мой вариант использования выглядит следующим образом. Я хочу инициализировать state
пустым объектом и присвоить состоянию следующий тип:
type EmployeesViewState = {|
employeesRequest?: Request<Array<Employee>>,
geosRequest?: Request<Array<Geo>>,
|};
Ошибка, которую я получаю, когда пытаюсь назначить пустой объект,
33: state: EmployeesViewState = {};
^^ object literal. Inexact type is incompatible with exact type
33: state: EmployeesViewState = {};
^^^^^^^^^^^^^^^^^^ exact type: object type
Конечно, поскольку у меня еще нет доступных запросов, я не могу их назначить. Я также не могу присвоить объекту undefined
, потому что состояние определяется с помощью каналов, т.е. это точный тип.
Я могу обмануть поток, сказав const a: any = {}; state = a;
, но это выглядит очень глупо. Есть ли другие способы решения этой проблемы?
employeesRequest: ?Request<Array<Employee>>,
, затем по умолчаниюemployeesRequest: null
. - person loganfsmyth   schedule 06.06.2017