Reaccionar paginación nativa y reaccionar problema de navegación

8

Me enfrento a un tipo complejo de problema debido a la paginación y React Native Navigation. El cajón que tiene la lista de categorías al hacer clic, todos van a la pantalla

Planteamiento del problema:

Cuando hago clic al azar en categorías, todo funciona bien. Pero, obteniendo el problema durante la paginación. Supongamos que hago clic en la categoría Consumidor y me desplazo para obtener más registros. Después de eso, hago clic en la categoría Móvil . La página de categoría móvil se mostrará por un segundo y luego se llamará a esa ruta anterior (Consumidor).

Intenté con el siguiente código para navegar por la categoría, pero obtuve el mismo problema.

Código:

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);
Vikash Dhiman
fuente
No entendí tu punto. ¿Puedes explicarlo con más detalles o por video?
Kishan Vaghela
@KishanVaghela En términos simples, cuando hago clic en cargar más productos después de cargar productos nuevos, navego a otra categoría, por ejemplo, Móvil. La página redirige 2 veces, 1 para mostrar las categorías móviles que son correctas, pero de repente redirige a la página de categoría anterior, por ejemplo, localhost / category / 1? Page_no = 2, pero debe cargar la página de localhost / category / 5 pero no el registro de paginación anterior es localhost / category / 1? page_no = 2 . Espero que esto tenga sentido.
Vikash Dhiman
1
Creo que hay un problema en otra parte, no en la navegación.
DevLover
Aún agregar un video podría ayudar.
Ashwin Mothilal
@AshwinMothilal No puedo agregar video. Esto es ilegal según mi empresa. Lo siento, no puedo compartir video.
Vikash Dhiman

Respuestas:

1

En la página categoryList se muestran los elementos antiguos debido a que tenemos registros antiguos en nuestra tienda redux, por lo que debemos asignar una matriz vacía por primera vez por nosotros mismos, por lo tanto, cuando se llama a nuestra página, estamos asignando una matriz vacía por nosotros mismos.

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

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

entonces podemos enviar nuestra acción y obtener nuevos registros y usarlos en nuestro componente. Resuelva este error

Prakash Karena
fuente