Как использовать существующий параметризованный селектор в методе createSelector - PullRequest
0 голосов
/ 08 февраля 2019

Я хочу создать селектор из параметризованного селектора.Насколько я понимаю, это будет излучаться только при обновлении определенного элемента, чего я и хочу.

const getFeatureState = createFeatureSelector<FragmentsHierarchyState>(MY_FEATURE);

const getItem = createSelector(
    getFeatureState,
    (state: FeatureState, props: { itemId: string }) => {
        return state.items[props.itemId];
    }
);

const getItemValue = createSelector(
    getItem, // <<< How to pass props here?
    (state: ItemState) => return state.x + state + y
);

Я не хочу делать следующее, потому что я не хочу, чтобы новые значения передавались каждыйвремя обновляется:

const getItemValue = createSelector(
    getFeatureState,
    (state: FeatureState, props: { itemId: string }) => {
        return state.items[props.itemId].x + state.items[props.itemId].y;
    }
);

1 Ответ

0 голосов
/ 08 февраля 2019

Селектор getFeatureState также должен был получить реквизит нормально ...

Если это не так, вы можете использовать заводскую функцию

const getItem = ({ itemId: string }) => createSelector(
    getFeatureState,
    (state: FeatureState) => {
        return state.items[itemId];
    }
);
...