2016-12-21 1 views
4

Immutable.jsレコードで動作するフローを取得しようとしています。フロータイプの定義と不変レコードの作成

私のように私の記録を定義しています:

const MyRecord = new Immutable.Record({id: undefined}) 

、その後、私はフローを実行すると、私が言うnew MyRecordコンストラクタ呼び出しでエラーを取得する

​​

でレコードを作成:

コンストラクタコールコンストラクタを呼び出すことができません。レコード

私はレコードを間違って定義していますか?または、コンストラクタの型を指定する方法をいくつか必要としますか?

私は、React Native 0.38.0プロジェクトの中でflow-bin 0.33.0と不変の3.8.0を使用しています。

ありがとうございます!

+0

'新しいImmutable.Record'を' immutable.Record'に 'new'を入れずに変更するとうまくいくのですか? – loganfsmyth

+0

既に構築されているオブジェクトでコンストラクタを呼び出そうとしています。 'Record'はオブジェクトを構築しない新しいクラスを作成しています。最初のステートメントから新しいキーワードを削除します。 – Chase

+0

ああ、そうだった。 'デフォルトのImmutable.Record({id:undefined})をエクスポートするのはいいですね。 ありがとうございます。 「回答」として再送信してください。私はそれを受け入れます。 – Jake

答えて

1

すでに構築されているオブジェクトでコンストラクタを呼び出そうとしています。 Recordは、オブジェクトを構成していない新しいクラスを作成しています。最初のステートメントからnewキーワードを削除しても問題はありません。

+1

です。これはRecord()オブジェクトが返す 'Callable signature in Record'で終わります。 –

+0

より具体的には、レコードが 'export const DocumentRecord:Immutable.Record = Immutable.Record({...})'のような型を設定した場合、それは失敗します。 –

関連する問題