export const getSearchResults = function (state$: Observable<State>) {
return combineLatest<{ [id: string]: Book }, string[]>(
state$.let(getBookEntities),
state$.let(getSearchBookIds)
)
.map(([ entities, ids ]) => ids.map(id => entities[id]));
};
はこの行です:combineLatest <{[id:string]:Book}、string []>これはなんですか?私が説明した必要なもの
<{ [id: string]: Book }, string[]>
それは世界で何ですか?私は文字通りどこにも見たことがありません。さらに悪いのは、ある種の配列が私が推測するプロパティ名として使用されていることです。また、私の頭の上で話す場合には、この名前があるので、私はGoogleにそれ以上の調査をさせることができますか?それはthis ngrxの例です。ありがとう!
これはTypeScriptのインデックスシグネチャです。ドキュメントで検索してください:https://www.typescriptlang.org/docs/handbook/interfaces.html – cartant
1つの答えで何が起こっているのかを包括的に説明するには、あまりにも多くの概念が必要です。静的型付けにどの程度慣れているかに応じて、パラメータ化された(別名汎用型)型と型式の構造型について読む必要があります。 –
@cartantこの文書は助けになりましたが、その例はとても悪いものです。 'interface StringArray { [index:number]:文字列です。 } '実際には特別なユースケースのシナリオを示していないので、悪いです。 – Helzgate