Hier ist meine Reducer-Datei.Preset redux store beim Aktualisieren verschiedener Komponenten
export default (state = initialState, action) => {
switch (action.type) {
case AppConstants.getMenuItems:
return {
...state,
isLoading: true
}
case AppConstants.getMenuItemsSuccess:
return {
...state,
menu_items: action.menu_items,
menu_items_copy: action.menu_items,
unmapped: false,
isLoading: false
}
case AppConstants.getAddonsItems:
return {
...state,
isLoading: true
}
case AppConstants.getAddonsItemsSuccess:
return {
...state,
menu_items: action.addon_items,
isLoading: false
}
case AppConstants.showAllProducts:
return {
...state,
menu_items: state.menu_items,
unmapped: false
}
case AppConstants.getUnmappedMenuItemsSuccess:
return {
...state,
unmapped: true,
menu_items_copy: state.menu_items,
menu_items: state.menu_items_copy.filter(data => {
data.productList = data.productList.filter(
id => id.brandProductSkuList[0].productSKUId.length === 36,
);
return data.productList.length !== 0;
})
}
Wenn ich jetzt auf unmapped Filter klicken zeigt es die gefilterten Daten aber nach unmapped wenn ich allProducts klicken es gibt immer noch die nicht zugeordneten Daten, da in unmap Funktion der Staat (menu_items) ist updated.So wie kann ich zeigen, die Originaldaten in allen Produkten. Und in meiner UI verwende ich (this.props.menu_items), also muss ich das nur aktualisieren. Was ich tun möchte, ist, wenn Kategorien angeklickt wird, sollte es alle Produkte anzeigen und nicht zugeordnet für das und ähnlich für Addons.
Sie sollten idealerweise die gesamten Daten in redux speichern und filtern Sie unseren Inhalt in der Komponente, anstatt den Laden selbst zu aktualisieren –
Ja danke, dass –
Froh, dass Sie das Problem beheben können, können Sie eine Antwort auf Ihre Frage als Referenz hinzufügen von Lesern, wie Sie es behoben haben –