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

101
Visualizações
Componente de actualización en cambio de estado - REACT

Estoy empezando con React y ya me he encontrado en un bucle. Estoy creando una aplicación que obtiene datos de una API de Flask. Tengo todo configurado hasta ahora, pero no quiero mostrar todos los datos en la primera página. Más bien, quiero dividir los datos de la API y mostrarlos 10 a la vez.

Mi problema es que logro dividir los datos, pero el DOM no se actualiza con el cambio de estado. Aquí está mi código hasta ahora:

 import React from 'react'; import Navbar from './Components/Navbar'; import Home from './Components/Home'; import {BrowserRouter as Router, Route, useHistory} from 'react-router-dom' import Button from '@restart/ui/esm/Button'; class App extends React.Component { constructor(props) { super(props); this.state = { number: 10 } } updateContent = (prevState) => { this.setState({number: this.state.number + 10}); } render() { return ( <Router> <Navbar /> <Home perPage={this.state.number} /> <div class="text-center mt-3 mb-3"> {this.state.number} <Button className='btn btn-primary' onClick={this.updateContent}>Mai multe intrebari</Button> </div> </Router> ); } } export default App;

Aunque el número está actualizado y puedo mostrar el {this.state.number} actualizado en DOM (en el mismo div que Button ), cambiarlo no actualiza mi componente Home :

 <Home perPage={this.state.number} />

donde perPage es un accesorio que uso para obtener datos de mi API:

 useEffect(() => { fetch("my_flask_api/v1/?id=" + props.perPage) .then(res => res.json()) .then( (result) => { setIsLoaded(true); setItems(result); },

PD: funciona si cambio manualmente el valor del number y actualiza el DOM correctamente, pero no lo hará en setState() .

Cualquier idea es bienvenida. ¡Gracias por adelantado!

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

0

Hay dos cosas que debes cuidar:

  1. this.setState(prevState => ({number: prevState.number + 10})) ;
  2. su useEffect debe tener props.perPage como dependencia en la matriz para que obtenga el valor actualizado más recientemente useEffect(() => {...} , [props.perPage])
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