Нет, вам определенно не следует вызывать параметр селектора ввода, просто предоставьте функцию селектора. Функция createSelector
принимает переменное количество входных параметров - все они, но не последний, являются селекторами. И последний параметр всегда является объединителем предыдущих параметров. Объединитель - это функция, в которой входные параметры являются оцененными значениями селекторов (предыдущие параметры), например:
// subtotalSelector and taxPercentSelector are other previously defined selectors
const taxSelector = createSelector(
subtotalSelector,
taxPercentSelector,
// subtotal and taxPercent are evaluated values of subtotalSelector and taxPercentSelector
(subtotal, taxPercent) => subtotal * (taxPercent / 100)
)
// this is another correct syntax for the same example
const taxSelector = createSelector(
[subtotalSelector, taxPercentSelector],
(subtotal, taxPercent) => subtotal * (taxPercent / 100)
)
Точка входа ваших следующих селекторов - это состояние редуктора и опциональные компоненты в вашемПример я не видел. Попробуйте создать первый селектор с использованием состояния избыточности, например:
const makeSelectCurrentPosition = (state) => state.current_position;
Затем вы можете использовать его в вашем mapStateToProps (в случае, если вы используетеact-redux), следующим образом:
mapStateToProps = state => {
selectCurrentPosition: makeSelectCurrentPosition(state)
}