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

116
Visualizações
React Redux vuelve a recuperar datos usando el estado y el cambio de estado

Me gustaría pasar datos de mi estado a una llamada de búsqueda (por ejemplo, término de búsqueda). Cuando el estado cambia, debería recuperar mis datos.

Los métodos del ciclo de vida parecen ser el lugar para hacer esto, pero cuando los uso, no hacen nada (se llama al renderizado antes del cambio de estado), o continúa en un ciclo sin fin.

Aquí está mi código simplificado:

 @connect((store) => { return { collections : store.collections.collections } }, { fetchCollections }) export default class CollectionPane extends Component { constructor(props){ super(props); this.state = { term : null } } componentWillMount(){ this.handleFetchCollections(this.state.term); // This loads initial ok } componentDidUpdate(){ // this.handleFetchCollections(this.state.term); // This causes loop } handleFetchCollections(props, sort){ log('Fetching...', 'green'); this.props.fetchCollections(props, sort); } onSearch(){ const term = "test example"; this.setState({ term }) } render(){ const { collections } = this.props; return ( <div> <a style={{ display: "block", padding: "1em" }} onClick={this.onSearch.bind(this)}>Search</a> <CollectionList collections={collections} /> </div> ); } }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.2/react-dom.min.js"></script>

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Debe comparar su nuevo estado con el estado anterior antes de realizar la búsqueda:

 componentDidUpdate(prevProps, prevState) { if (prevState.term !== this.state.term) { this.handleFetchCollections(this.state.term); } }
over 4 years ago · Santiago Trujillo Relatório

0

Con react-redux deberías cambiar tu estado a través de acciones y reductores. Luego puede usar acciones asíncronas como se describe aquí: http://redux.js.org/docs/advanced/AsyncActions.html

over 4 years ago · Santiago Trujillo 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