Допустим, у меня есть следующее состояние:Смотри окна в Redux Редукторы
state = {
products: {
50: {
sku: "000",
name: "A Product",
category: 123,
...
}
},
categories: {
123: {
name: "Some Category",
parentCategory: 100,
department: "Electronics"
}
},
filteredProducts: [50]
}
Я хочу, чтобы иметь возможность фильтровать продукты на основе категорий. Однако мне нужно отфильтровать на основе нескольких свойств категорий. т. е. я могу захотеть получить все категории в отделе электроники, или я, возможно, захочу получить категорию с идентификатором 123 и всеми ее подкатегориями.
Это немного надуманный пример, который точно соответствует тому, чего я пытаюсь достичь, но это немного легче понять, поэтому, пожалуйста, несите меня. Я знаю, что в этом конкретном экземпляре я мог бы, вероятно, использовать что-то вроде повторного выбора, но, полагая, что мне нужно было искать категории для редуктора продуктов, каковы были бы мои параметры?
У меня не будет доступа ко всему состоянию в моем редукторе продуктов, хотя? У меня будет доступ к объекту состояния продуктов. – NRaf
Ммм, правильно! Поэтому в этом случае я думаю, что вы можете сделать логику фильтра на компоненте, может быть в 'componentWillReceiveProps' сразу после отправки метода FETCH_ALL_PRODUCTS' (не уверен, что это лучшая практика или нет). Или если вы можете иметь доступ/поддерживать свой сервер, добавив конечную точку, которая фильтрует серверную сторону 'GET''/products /: categoryId'. –