Reagieren Sie auf native Paginierung und reagieren Sie auf Navigationsprobleme


8

Ich stehe aufgrund der Paginierung und der reaktiven nativen Navigation vor einem komplexen Problem. Schublade mit der Kategorieliste beim Klicken gehen alle auf den Bildschirm

Problemstellung:

Wenn ich zufällig auf Kategorien klicke, funktioniert alles einwandfrei. Aber das Problem während der Paginierung bekommen. Angenommen, ich klicke auf die Kategorie Verbraucher und scrolle nach weiteren Datensätzen. Danach klicke ich auf Mobile Kategorie. Die Seite für mobile Kategorien wird für eine Sekunde angezeigt und danach wird die vorherige Route (Verbraucher) aufgerufen.

Ich habe mit dem folgenden Code versucht, in der Kategorie zu navigieren, aber das gleiche Problem festgestellt.

Code:

1).

this.props.navigation.navigate({
  routeName: "CategoryList",
  params: {
    cat_id: e.cat_id
  },
  key: Math.random () * 10000
})

2).

const resetAction = StackActions.reset({
  index: 0,
  actions: [NavigationActions.navigate({
    routeName: 'CategoryList',
    params: {
      cat_id: e.cat_id
    }
  })],
});
this.props.navigation.dispatch(resetAction);

3).

const pushAction = StackActions.push({
  routeName: "CategoryList",
  params: {
    cat_id: e.cat_id
  }
});
this.props.navigation.dispatch(pushAction);

Ich habe deinen Standpunkt nicht verstanden. Kannst du es mit mehr Details oder per Video erklären?
Kishan Vaghela

@KishanVaghela In einfachen Worten, wenn ich nach dem Laden neuer Produkte auf Weitere Produkte laden klicke, navigiere ich zu einer anderen Kategorie, z. B. Mobil. Seitenumleitung 2 Mal, 1 Mal, um die korrekten mobilen Kategorien anzuzeigen, aber plötzlich wird zur vorherigen Kategorieseite weitergeleitet, z. B. localhost / category / 1? Page_no = 2, aber die Seite von localhost / category / 5 sollte geladen werden , nicht jedoch der vorherige Paginierungsdatensatz das ist localhost / category / 1? page_no = 2 . Ich hoffe das macht Sinn.
Vikash Dhiman

1
Ich denke, es gibt ein Problem in einem anderen Teil, nicht in der Navigation.
DevLover

Das Hinzufügen eines Videos könnte helfen.
Ashwin Mothilal

@AshwinMothilal Ich kann kein Video hinzufügen. Dies ist laut meiner Firma illegal. Es tut mir leid, dass ich kein Video teilen kann.
Vikash Dhiman

Antworten:


1

In der KategorieListenseite werden alte Elemente angezeigt, da wir alte Datensätze in unserem Redux-Speicher haben. Daher müssen wir zum ersten Mal selbst ein leeres Array zuweisen. Wenn unsere Seite aufgerufen wird, weisen wir selbst ein leeres Array zu.

componentWillMount = () => {
this.props.categoryListRecord.categoryList = []
}

mapStateToProps = (state) => { ....
categoryListRecord : state.categoryListReducer

Dann können wir unsere Aktion auslösen, neue Datensätze abrufen und in unserer Komponente verwenden. Beheben Sie diesen Fehler

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.