2016-06-14 7 views
1

私はとreselectを使用していますが、各変更時に非正規化されないようにしていますが、これが本当に改善しているかどうかはわかりません。denormalizrとreselectを組み合わせるのは良いアプローチですか?

import { createSelector } from 'reselect' 
import { denormalize } from 'denormalizr' 
import { challenge as schema } from './challenge.schema' 

const getState = (state) => state 

export const getChallenge = createSelector(getState, ({ entities, challenge }) => { 
    return denormalize(entities.challenges[challenge.item], entities, schema) 
}) 

export const getChallenges = createSelector(getState, ({ entities, challenge }) => { 
    return challenge.items.map((id) => denormalize(entities.challenges[id], entities, schema)) 
}) 

答えて

0

ルールは、あなたが実際にそれを必要とするまで、あなたのコードを最適化しないように通常です。最適化が必要かどうかわからない場合は、時期尚早の最適化の場合があります。

この場合、アプリの速度が低下した場合は、おそらくそれを実行する必要があります。問題は、これがあなたのアプリを実際に減速しているかどうかを知ることです。 モニターツールを使用するか、コードのコメント/コメントを解除して状態の変更をトリガーして、再選択せずにアプリが反応し続けるかどうかを確認できます。

関連する問題