В моем приложении response / redux / redux-thunk у меня есть редуктор, который управляет состоянием, содержащим список вещей, похожих на:
state = {
stuff: [
{
id: 1,
color: "blue",
shape: "square"
},
{
id: 2,
color: "red",
shape: "circle"
},
{
id: 3,
color: "yellow",
shape: "square"
},
]
};
Я хочу создать вспомогательные функции, которые я могу использовать в своем приложении которые возвращают отфильтрованные списки вещей из магазина на основе аргумента, переданного в функцию. Например:
getStuffByShape("square"); // returns array with stuff 1 and 3
getStuffByColor("red"); // returns array with stuff 2
Я читал, что могу создать одноэлементное хранилище, которое я могу импортировать по мере необходимости в разные файлы, но это не рекомендуется. В настоящее время я не выполняю рендеринг на стороне сервера, но не хочу ограничивать свои возможности в будущем.
Я читал о создании селекторов и пакета reselect
, но примеры показывать только функции, принимающие параметр состояния, и мне непонятно, могу ли я передать дополнительный произвольный параметр.
Я могу передавать состояние в качестве аргумента от подключенного компонента, но я могу использовать их функции в других местах, например, другие вспомогательные функции.