Nie mogę uzyskać dokładnych typów przepływu do pracy z rozkładaniem obiektów.Obiekt Rozprzestrzenianie się z typami przepływu dokładnego
type Point = {| x: number, y: number |};
const p1: Point = { x: 10, y: 10 };
const p2: Point = { ...p1, y: 5 };
Generuje błąd obiektowy. Niedokładne rodzaj jest niezgodna z dokładnym typu
does't produkować ten błąd, ale modyfikuje p1:
const p3: Point = Object.assign(p1, {y: 5});
Korzystanie Object.assign z pustym obiektem produkuje taką samą obiektu dosłownego błąd:
const p4: Point = Object.assign({}, p1, {y: 5});
Jeśli użyję type Point = {x: number, y: number};
, to obiekt rozprzestrzeni się działa, ale najlepiej chciałbym użyć dokładnego typu.
Dzięki za odpowiedź, po prostu okazało się, że problem tutaj https://github.com/facebook/flow/issues/2405 Staram się z 'typ Exact = T & $ Shape ;' obejście teraz. –
Andy