アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


reduxのreselectについて調べた

reselectは主にreduxで利用される、計算結果のメモ化を担うライブラリ。
とはいえreduxに依存しているわけではないので、単体でも使える。

github.com

使い方はざっくりこんな感じ。
createSelector 関数で、メモ化selectorをつくる。

input-selectors の値が変わるような Redux ステートツリーの 変更があると、transform function が呼ばれる。 (transform functionの引数はinput-selectorの実行結果)

input-selectorsの値が前回呼ばれた時と一緒なら、 transoform function を実行せずに、前回計算された値を返す。

f:id:device_me:20180601112959p:plain