Мне сложно справиться с задачей на сегодняшний день, так как я новичок в реакции-редукции. Позволь мне объяснить. У меня есть два списка падение падения и сетки так же, как на скриншоте ниже: Фильтрация и уже отфильтрованное состояние
Целью падения капли, чтобы фильтровать мои фиктивные данные первый бок, а второй по статусу. Я создал два действия:
export function filterBySide(product_side) {
const filtered_data_by_side = data.filter(record =>
{
return record.side.match(product_side)
});
return {
type: FILTER_BY_SIDE,
payload: {
filtered_data_by_side
}
};
}
export function filterByStatus(product_status) {
const filtered_data_by_status = data.filter(record =>
{
return record.status.match(product_status)
});
return {
type: FILTER_BY_STATUS,
payload: {
filtered_data_by_status
}
};
}
Как вы можете видеть, что первые один отвечает за фильтрацию на стороне, а другой для фильтрации состояния. Тогда я передать их к действиям, к моему редуктору, как это:
case FILTER_BY_SIDE:
return state.set('filtered_data_by_side', List(action.payload.filtered_data_by_side));
case FILTER_BY_STATUS:
return state.set('filtered_data_by_status', List(action.payload.filtered_data_by_status));
, а затем я использую MapStateToProps, чтобы сделать их доступными в списке учетных записей:
function mapStateToProps(state) {
return {
filtered_data_by_side:state.customer.get('filtered_data_by_side'),
filtered_data_by_status:state.customer.get('filtered_data_by_status')
};
}
Я также выборки мои действия в выпадающем списке , Моя ПРОБЛЕМА заключается в том, что когда я прошел filter_data_by_side как данные в моей сетке, происходит только первое действие, и когда я прошел filter_data_by_status, второй, который разумно, конечно. Желаемая функциональность - это когда я выбираю первый снимок, чтобы фильтровать мои данные, а затем я выбираю второй данные, которые должны быть отфильтрованы первым, а затем вторым выпадающим списком и наоборот. Как я могу это сделать???
Вам также придется передать исходные данные. Как данные передаются в настоящее время? Я вижу 'data.filter', но не определение для данных –
Спасибо за ваш отзыв Макс! Но как будет складываться мой новый редуктор? – user7334203
Моя рекомендация состояла в том, чтобы отслеживать исходные данные somwhere (т. Е. В редукторе) и передавать его в действие фильтра, когда это необходимо. У вашего редуктора будет объект или фильтр 'filters', который вы бы обновили, и вы установили свойство' filterData' на редукторе, чтобы указать, что данные были отфильтрованы. При рендеринге вы должны использовать отфильтрованные данные, если они есть. В противном случае вы должны использовать исходный источник данных –