TypeScriptで関数パラメーターとしてMobX状態ツリーモデルを使用するにはどうすればよいですか?

St1ggy

アプリに多くのリストがあり、リストモデルを作成するためのヘルパーを作成したいのですが、タイプを修正する方法がわかりません。モデルおよびジェネリックごとに正しいタイプを定義するには何を使用すればよいですか?

const createListInterface = <T>(Model: T) => {
  const initialState = {
    data: types.array(Model),
    isLoading: false,
    isLoadingMore: false,
    isListEnd: false,
  }

  return types.model(initialState)
}

const stateExample = {
  disputesList: createListInterface<Dispute>(DisputeModel),
}

// types

export const DisputeModel = model({
  disputeId: types.number,
  winnerId: types.maybeNull(types.number),
  creatorId: types.number,
  reason: types.string,
  time: types.string,
  status: DisputeStatusEnumModel,
})

export type Dispute = Instance<typeof DisputeModel>

このコードはエラーをスローします

TS2345: Argument of type 'T' is not assignable to parameter of type 'IAnyType'.

ここでタイプを使用してIDEの提案を行う必要があります。それがないと、WebStormはデータが any[]

Tholle

ジェネリック型Tが拡張するように指定できますIAnyType

const createListInterface = <T extends IAnyType>(Model: T) => {
  const initialState = {
    data: types.array(Model),
    isLoading: false,
    isLoadingMore: false,
    isListEnd: false
  };

  return types.model(initialState);
};

const stateExample = {
  disputesList: createListInterface(DisputeModel)
};

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

qunitを使用してTypeScriptで関数パラメーターを「QUnit」型として宣言するにはどうすればよいですか?

分類Dev

別の関数のデフォルトパラメータとして非同期関数を使用するにはどうすればよいですか?

分類Dev

Typescriptで関数パラメータタイプを使用するにはどうすればよいですか?

分類Dev

関数のパラメータとしてテーブルフィールドを使用するにはどうすればよいですか?

分類Dev

出力パラメータを使用して関数を作成するにはどうすればよいですか?

分類Dev

関数のパラメーターとしてtkinterエントリーを使用するにはどうすればよいですか?

分類Dev

Pythonで関数パラメーターとして:を渡すにはどうすればよいですか?

分類Dev

ocamlで関数パラメータとリターンタイプをリストとして指定するにはどうすればよいですか?

分類Dev

AngularJS:パラメーターを使用して親状態内にビューをネストするにはどうすればよいですか?

分類Dev

モジュールのパラメータとして変数を使用するにはどうすればよいですか?

分類Dev

ジェネリック型パラメーターを使用して関数のベクトルを作成するにはどうすればよいですか?

分類Dev

Stripe を使用して複数のパラメータ (または情報) を状態に渡すにはどうすればよいですか

分類Dev

イテレータをパラメータとして使用する関数にVecを送信するにはどうすればよいですか?

分類Dev

Pythonで渡された引数をデフォルトのパラメータ値として使用するにはどうすればよいですか?

分類Dev

パラメータをpostgre関数に渡し、ExecuteReaderを使用してデータを取得するにはどうすればよいですか?

分類Dev

Javaで関数をパラメータとして渡すにはどうすればよいですか?

分類Dev

いくつかの固定パラメーターを使用してnumpyで関数をベクトル化するにはどうすればよいですか?

分類Dev

PHPの別の関数のパラメーターとして関数の戻り値を使用するにはどうすればよいですか?

分類Dev

fnを他の関数の関数パラメーターとして使用するにはどうすればよいですか?

分類Dev

SpringとHibernateを使用してデータベースレベルで競合状態を実装するにはどうすればよいですか?

分類Dev

関数のパラメータを使用してオブジェクトのデータを使用するにはどうすればよいですか?

分類Dev

collection.pushを介してモデルを追加するときに、Backbonejsモデルの初期化関数にパラメーターを渡すにはどうすればよいですか?

分類Dev

Cで関数パラメーターとしてさまざまな変数を使用するにはどうすればよいですか?

分類Dev

TableauのR統合でパラメーターとしてテーブルデータを使用するにはどうすればよいですか?

分類Dev

Pythonで関数をコピーしてデフォルトのパラメータを設定するにはどうすればよいですか?

分類Dev

既存の変数とその値を関数(Python)のパラメーターとして使用するにはどうすればよいですか?

分類Dev

スクリプトパラメータ(フォルダパス)を変数として使用するにはどうすればよいですか?

分類Dev

UITableViewCellをパラメーターとして使用して関数を作成するにはどうすればよいですか?

分類Dev

関数(独自のパラメーターを持つ)を関数のパラメーターとして渡すにはどうすればよいですか?

Related 関連記事

  1. 1

    qunitを使用してTypeScriptで関数パラメーターを「QUnit」型として宣言するにはどうすればよいですか?

  2. 2

    別の関数のデフォルトパラメータとして非同期関数を使用するにはどうすればよいですか?

  3. 3

    Typescriptで関数パラメータタイプを使用するにはどうすればよいですか?

  4. 4

    関数のパラメータとしてテーブルフィールドを使用するにはどうすればよいですか?

  5. 5

    出力パラメータを使用して関数を作成するにはどうすればよいですか?

  6. 6

    関数のパラメーターとしてtkinterエントリーを使用するにはどうすればよいですか?

  7. 7

    Pythonで関数パラメーターとして:を渡すにはどうすればよいですか?

  8. 8

    ocamlで関数パラメータとリターンタイプをリストとして指定するにはどうすればよいですか?

  9. 9

    AngularJS:パラメーターを使用して親状態内にビューをネストするにはどうすればよいですか?

  10. 10

    モジュールのパラメータとして変数を使用するにはどうすればよいですか?

  11. 11

    ジェネリック型パラメーターを使用して関数のベクトルを作成するにはどうすればよいですか?

  12. 12

    Stripe を使用して複数のパラメータ (または情報) を状態に渡すにはどうすればよいですか

  13. 13

    イテレータをパラメータとして使用する関数にVecを送信するにはどうすればよいですか?

  14. 14

    Pythonで渡された引数をデフォルトのパラメータ値として使用するにはどうすればよいですか?

  15. 15

    パラメータをpostgre関数に渡し、ExecuteReaderを使用してデータを取得するにはどうすればよいですか?

  16. 16

    Javaで関数をパラメータとして渡すにはどうすればよいですか?

  17. 17

    いくつかの固定パラメーターを使用してnumpyで関数をベクトル化するにはどうすればよいですか?

  18. 18

    PHPの別の関数のパラメーターとして関数の戻り値を使用するにはどうすればよいですか?

  19. 19

    fnを他の関数の関数パラメーターとして使用するにはどうすればよいですか?

  20. 20

    SpringとHibernateを使用してデータベースレベルで競合状態を実装するにはどうすればよいですか?

  21. 21

    関数のパラメータを使用してオブジェクトのデータを使用するにはどうすればよいですか?

  22. 22

    collection.pushを介してモデルを追加するときに、Backbonejsモデルの初期化関数にパラメーターを渡すにはどうすればよいですか?

  23. 23

    Cで関数パラメーターとしてさまざまな変数を使用するにはどうすればよいですか?

  24. 24

    TableauのR統合でパラメーターとしてテーブルデータを使用するにはどうすればよいですか?

  25. 25

    Pythonで関数をコピーしてデフォルトのパラメータを設定するにはどうすればよいですか?

  26. 26

    既存の変数とその値を関数(Python)のパラメーターとして使用するにはどうすればよいですか?

  27. 27

    スクリプトパラメータ(フォルダパス)を変数として使用するにはどうすればよいですか?

  28. 28

    UITableViewCellをパラメーターとして使用して関数を作成するにはどうすればよいですか?

  29. 29

    関数(独自のパラメーターを持つ)を関数のパラメーターとして渡すにはどうすればよいですか?

ホットタグ

アーカイブ