Селектор с динамическим аргументом не запоминается

Я пытаюсь заставить реселект запоминать мой селектор, вызванный с динамическим аргументом

Мой селектор:

import { createSelector, defaultMemoize } from 'reselect'

const allStatesSelector = store => store.state.states

export const getAllStates = createSelector(
  allStatesSelector,
  states => defaultMemoize(night => {
    console.log('getAllStates called with night:', night)
    const availableStates = night ? nightStates : dayStates
    return states.filter(state => availableStates.includes(state.id))
  }),
)

Я называю это так:

states: getAllStates(store)(props.night)

Селектор вызывается 1800 раз вместо 2 (учитывая, что ночь может быть только истинной или ложной).

Что я упустил?

0 ответов

Другие вопросы по тегам