問題タブ [inferred-type]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
120 参照

kotlin - Kotlin 型はジェネリック関数に推論されません

SharedPreferences から任意のリストをフェッチ/取得する汎用関数があります。ただし、動作しないことをテストしたい場合、メッセージのリストを保存して、Ints のリストを要求しても、動作しました。私が正確に指定したタイプを無視し、JsonObjects のリストを返しました。コード全体をデバッグしたところ、明らかに関数が推論されたクラス型を気にしていないことがわかりました。問題を説明できるように、最初にコードをここに置きます。

したがって、私が期待していたのは、次のように関数を呼び出すときです。

上記のコードの「type」変数は List を返す必要があります。ただし、デバッガーが表示する結果は次のとおりです。java.util.List<? extends T> 推論が機能しない理由はまったくわかりませんが、明らかな理由から、要求しているものが実際に得られるものであることを確認するために機能させたいと思います。この奇妙な動作の理由と解決策を知っている人はいますか?

0 投票する
0 に答える
157 参照

typescript - ES6 インポート/エクスポート構文で TS 循環参照の問題を解決する方法はありますが、推論された静的型は保持されますか?

「AがBを輸入し、BがAを輸入する」という状況があります。

両方のファイルのコードを 1 つのファイルに入れ、ファイルの関連コンテンツの 1 つをファイルのほぼ先頭にある変数宣言 (定義ではない) に移動しました。

JS ビュー内で問題を実質的に解決しましたが、Redux ストアを含む変数は静的に型指定されていないため、この変数に関する他のファイルから警告が表示されます。

変数はファイルのほぼ先頭にあり、静的に型指定されていません。その定義を新しい関数の中に入れて静的に型付けしようとし、その関数のlet store: ReturnType<typeof buildMyStore>場所を使用しようとしましbuildMyStoreた。

変数宣言( buildMyStoreconst アロー関数) にはツールチップがあります

buildMyStoreany戻り値の型の注釈がなく、戻り値の式の 1 つで直接的または間接的に参照されているため、暗黙的に戻り値の型があります。ts(7023)

store変数宣言にはツールチップがあります:

store自身の型注釈で直接的または間接的に参照されています。ts(2502)

質問に対する回答がない場合は、私ができる最も近い機能コードの変更を教えてください。

コード

更新 1

エクスポートには次のものが含まれます。

更新 2

私はこれを一時的かつ部分的に解決したと思います:

しかし、これは TypeScript エラーをいくつかの他のエラーに変えます: コールバックのパラメータに対して特定の型が推論されたところで、推論された型がany. これは避けたい。

アップデート 3

の署名axiosBaseQuery:

0 投票する
2 に答える
39 参照

typescript - 配列値の型を明確に推測する

技術的には、私はすでにこの質問に対する答えを見つけましたが、よりクリーンなアプローチを探しています。同様に、これを行う方法を具体的に説明している SO の質問やドキュメントも見たことがありません。

まず、次に構築する例: 型指定された配列がある場合、次の方法で各値の型を推測できることを知っています。

ただし、このようなジェネリックがあり、アクセスできるのはこのタイプのインスタンスだけである場合:

内部リストの型を推測したい。

ご覧のとおり、最初の例のアプローチと同様にこの型を推論できることはすでにわかっていますが、この型を推論するよりクリーンな方法はあるのでしょうか? リストの単一値型を行う必要なく推論する方法があると思います[0]。これを行う別の方法がない場合、なぜこのアプローチが配列値の型を推測する唯一の方法であるのかを説明していただけませんか?