Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

418
Views
¿Cómo hacer que mi componente se vuelva a renderizar después de actualizar los accesorios del selector en reaccionar y redux-saga?

soy un novato en reaccionar, biblioteca redux-saga, así que estoy luchando para resolver este problema ...

así que tengo este componente. uso api para buscar, eliminar datos con redux-saga.

 export class ExampleComponent extends React.Component { constructor() { super(props); this.props.getList(); } handleClick(value) { this.props.deleteFromList(value); } render() { if (this.props.isFetched) { return ( this.props.list.map( (value, i) => { <button onClick={this.handleClick.bind(this, value)}> {value} </button> } ); ); } return <div><h1>Fetching list...</h1></div>; } } ExampleComponent.propTypes = { list: React.PropTypes.array, isFetched: React.PropTypes.bool, getListAction: React.PropTypes.func, deleteFromListAction: React.PropTypes.func, }; export function mapDispatchToProps(dispatch) { return { getList: () => dispatch(getListAction()), deleteFromList: (id) => dispatch(deleteFromListAction(id)); }; } const mapStateToProps = createStructuredSelector({ list: selectList(), isFetched: selectIsFetched(), }); export default connect(mapStateToProps, mapDispatchToProps)(ExampleComponent);

así que cuando se cargan los datos, traté de hacer clic para activar el evento onClick on button. y la acción de eliminación es exitosa y el registro se elimina de db.pero la vista no se actualiza, por lo que cuando actualicé el navegador, se eliminó el botón en el que se hizo clic.

Entonces, ¿cómo hago para que mi componente se actualice automáticamente cuando agrego o elimino datos? Gracias por tu tiempo y espero que puedas ayudarme a resolver esto T_T

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Su componente no se actualizará a menos que haya un cambio en su estado. Como ha notado, hay un cambio en la base de datos, pero no hay cambios en el estado de su tienda redux, específicamente en su lista seleccionada.

Entonces, lo que deberá hacer es esperar a que la eliminación de la base de datos sea exitosa, luego puede enviar otra acción para obtener su lista seleccionada. La nueva lista sería diferente de su lista original y, por lo tanto, su componente se actualizaría.

 export function* deleteSaga (action) { yield call(deleteDataRequest) yield put(FETCH_LIST); }

Sagas hace que este tipo de control de flujo sea bastante fácil, ya que su solicitud DELETE se puede producir y luego puede PONER una acción de búsqueda después de su DELETE.

Esta es solo una posible solución. Pero con suerte, te indicará la dirección de lo que debes hacer.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!