5
オブジェクトスプレッドで動作するフローで正確なタイプを取得できないようです。正確なフロータイプを持つオブジェクトスプレッド
type Point = {| x: number, y: number |};
const p1: Point = { x: 10, y: 10 };
const p2: Point = { ...p1, y: 5 };
エラーオブジェクトリテラルを生成します。不正確なタイプは正確なタイプと互換性がない
これはエラーを生成does'tが、変更P1:空のオブジェクトも同じオブジェクトリテラルエラーを生成してObject.assign使用
const p3: Point = Object.assign(p1, {y: 5});
:
const p4: Point = Object.assign({}, p1, {y: 5});
type Point = {x: number, y: number};
を使用するとオブジェクトスプレッドが機能しますが、理想的には正確なタイプを使用したいと思います。
答えていただきありがとうございます。ここで問題が見つかりました。https://github.com/facebook/flow/issues/2405私は 'type exact = T&$ Shape ;回避しようとしています。 –
Andy