私はreact-reduxを初めて利用しているので、今日の課題に対処することは難しいです。私に説明させてください。 フィルタリング済みで既にフィルタリングされた状態
ドロップダウンの目的は、ダミーデータを最初に並べ替え、2番目をステータスでフィルタリングすることです。
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')
};
}
。 私の問題は、私がグリッド内のデータとしてfiltered_data_by_sideを渡したときに、最初のアクションだけが発生し、filtered_data_by_statusを渡したときに当然です。 目的の機能は、データをフィルタリングするための最初のドロップダウンを選択した後、2番目のドロップダウンでフィルタリングする必要があるデータを選択し、2番目のドロップダウンでデータを選択します。これどうやってするの???
元のデータも渡す必要があります。現在、データはどのように渡されていますか? 'data.filter'が使用されていますが、データの定義はありません –
あなたの応答に感謝します。しかし、私の新しい減速機はどのように構成されますか? – user7334203
私は元のデータsomwhere(つまり減速機)を追跡し、必要に応じてフィルタアクションに渡すことをお勧めします。あなたのレデューサーはあなたが更新する 'filters'オブジェクトまたは配列を持ち、レデューサーに' filteredData'プロパティーを設定して、データがフィルターされたことを示します。レンダリング時に、フィルタリングされたデータがあればそれを使用します。それ以外の場合は、元のデータソースを使用します –