Reagir problema de paginação nativa e reagir à navegação

8

Estou enfrentando um tipo complexo de problema devido à paginação e ao React Native Navigation. Gaveta com a lista de categorias no clique todos eles estão indo para a tela

Declaração do problema:

Quando clico aleatoriamente nas categorias, tudo está funcionando bem. Mas, obtendo o problema durante a paginação. Suponha que eu clique na categoria Consumidor e role para obter mais registros. Depois disso, clico na categoria Celular . A Página de categoria móvel será exibida por um segundo e depois que a rota anterior for chamada (Consumidor).

Tentei com o código a seguir para navegar na categoria, mas obtendo o mesmo 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
fonte
Não entendi seu ponto. Você pode explicar com mais detalhes ou por vídeo?
Kishan Vaghela
@KishanVaghela Em termos simples, quando clico em carregar mais produtos após carregar em novos produtos, navego para outra categoria, por exemplo, Celular. A página é redirecionada 2 vezes, 1 para mostrar as categorias móveis corretas, mas repentinamente redireciona para a página de categoria anterior, por exemplo, localhost / category / 1? Page_no = 2, mas deve carregar a página de localhost / category / 5, mas não o registro de paginação anterior que é localhost / categoria / 1? page_no = 2 . Eu espero que isto faça sentido.
Vikash Dhiman 13/01
1
Eu acho que há um problema em outra parte, não na navegação.
DevLover 14/01
Ainda adicionar um vídeo pode ajudar.
Ashwin Mothilal 14/01
@AshwinMothilal Não consigo adicionar vídeo. Isso é ilegal de acordo com a minha empresa. Lamento não poder compartilhar vídeo.
Vikash Dhiman 16/01

Respostas:

1

Na página categoryList mostra itens antigos por causa de termos registros antigos em nossa loja redux, portanto, precisamos atribuir uma matriz vazia pela primeira vez por nós mesmos.

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

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

podemos despachar nossa ação e obter novos registros e usá-lo em nosso componente.

Prakash Karena
fonte