2

変更ごとに非正規化を回避するために 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))
})
4

2 に答える 2

-1

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

この場合、アプリの速度が低下する場合は、おそらく実行する必要があります。多くの場合、問題は、これが実際にアプリの速度を低下させているかどうかを知ることです。監視ツールを使用するか、単にコードをコメント化/コメント解除して状態変更をトリガーし、再選択せずにアプリの応答性が維持されるかどうかを確認できます。

于 2017-04-11T18:37:38.727 に答える