はありません、それが作成しても意味がありません。私が見つけた何
は私の最初のレベルのセレクタはメモ化されるように、単にプレーンの機能があり、その必要性より深く行くの任意のセレクタということですステートツリーの一部を取得するためのメモ型セレクタ。
connect
は、mapStateToProps
から渡された各小道具について、それ自身の浅い等価性チェックを行います。セレクタによって返された小道具が他の小道具と共にその浅い平等チェックを通過する場合、render
は不必要に呼び出されません。セレクタが単純に状態ツリーの一部を返し、状態ツリーのその部分が変更されなかった場合、浅い等価チェックで十分です。
セレクタが他のセレクタの結果から計算される場合は、createSelector
を使用するとよいでしょう。まず、セレクタを作成するための素晴らしい構文を提供します。第2に、セレクタを組み合わせる計算が潜在的に高価な場合は、パフォーマンスの向上が得られます。第3に、セレクタが新しい、等価な、オブジェクトまたは配列を返す場合、connect
によって提供される浅い等価チェックでは十分ではありません。その場合、createSelector
が提供するメモは、入力が変更されていない場合に、同じオブジェクトまたは配列インスタンスが返されたことを保証します。次に、浅い等価チェックで高価な再レンダリングを回避するのに十分です。
状態ツリーの一部を公開するだけのため、createSelector
は何も追加しません。
状態ツリーの複数の部分から計算されるほぼすべてのセレクタに対して、createSelector
は値の追加を開始します。追加する価値の量は、コンポーネントツリーを不必要に再レンダリングしないように、読みやすいようにセレクタに基づいて異なります。
偉大な質問 - 私はこれをどこでも解決できませんでした。 –