Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

197
Visualizações
Cómo dejar de recargar la pantalla cuando vuelves a la pantalla anterior con dom-router en react js

Tengo una aplicación web con varias páginas y enrutamiento, en cada página tengo una tabla con muchos datos, por lo que cada vez que cambio de página y presiono el botón Atrás, la página del historial se recarga sola.

Quiero mantener los datos de ListingPage tal como están cuando vuelvo a ListingPage desde DetailPage. Pero cada vez que llama a la función getAllRecords y vuelve a cargar la tabla.

Intenté cambiar las opciones y los componentes de dom pero aún no obtuve una solución adecuada

La estructura de la página de mi aplicación es similar a la siguiente

Aplicación.js

 import { BrowserRouter, Route, Switch } from 'react-router-dom'; import HomePage from './Pages/HomePage.js' import ListingPage from './Pages/ListingPage.js' import DetailPage from './Pages/DetailPage.js' render() { return ( <BrowserRouter> <Switch> <Route path="/home" component={HomePage} /> <Route path="/list" component={ListingPage} /> <Route path="/detail" component={DetailPage} /> </Switch> </BrowserRouter> ) }

Página de inicio.js

 import React, { Component } from 'react'; class HomePage extends Component { render() { return ( <div> //Showing list of different table and pages </div> ); } } export default HomePage;

ListingPage.js

 import React, { Component } from 'react'; class ListingPage extends Component { componentDidMount(){ this.getAllRecords() } getAllRecords = () => {} goToDetailRecord = () => { this.props.history.push('detail') } render() { return ( <div> //Table list data </div> ); } } export default ListingPage;

DetailPage.js

 import React, { Component } from 'react'; class DetailPage extends Component { goBack = () => { this.props.history.goBack(); } render() { return ( <div> //Shows table data detail value </div> ); } } export default DetailPage;

¿Hay algo que pueda implementar para resolver el problema? Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede usar Memo o la versión React 16 y anterior para almacenar un caché para evitar que lo haga en los renderizados o guardar el valor en el estado usando redux y no llamar a la función si el campo no está vacío. Además, si el componente se montó funciona como useEffect, creo que al tenerlo allí, llamará a esa función en cada renderizado.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda