Я просматривал статью Дэн Паркер на Medium о повторном выборе модуля npm.
В разделе продвинутой стадии своего кода он привел этот пример (с комментарием)
import { createSelector } from 'reselect'
// I am a generic selector, I need no special treatment
// I am now passing props so I can find a specific bar
const getBar = (state, props) => {
const id = props.id
const barById = state.foo.bar.find((item,i) => item.id === id)
return barById
}
// This no longer will work if it is needed in multiple places
//export const getBarState = createSelector(
// [ getBar ],
// (bar) => bar
//)
// This is proper if it is needed in multiple instances
export const makeGetBarState = () => createSelector(
[ getBar ],
(bar) => bar
)
Я не могу понять приведенный выше код, как здесь
import { createSelector } from 'reselect'
Мы импортируем createSelector из повторного выбора.
const getBar = (state, props) => {
const id = props.id
const barById = state.foo.bar.find((item,i) => item.id === id)
return barById
}
здесь, я не могу добраться откуда / как мы получаем props
.
и почему это не сработает
export const getBarState = createSelector(
[ getBar ],
(bar) => bar
)
но это будет
export const makeGetBarState = () => createSelector(
[ getBar ],
(bar) => bar
)