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

101
Views
compruebe si se ha creado una nueva referencia en el selector redux

Tengo el problema de que recibo en mi componentDidUpdate(prevProps, prevState) una nueva referencia del objeto en el this.props entrante, por lo que incluso los valores son iguales, obtengo comparaciones de objetos engañosas cuando comparo this.props con el objeto prevProps . Para rastrear esto, me gustaría saber por qué sucede esto y creo que se debe a la derivación de datos con selectores .

Entonces, considere el escenario típico

 class FooComponent extends Component { constructor(props) { super(props) } .... } const mapStateToProps = (state, props) => ({ stateSlice: getStateSlice(state) } const mapDispatchToProps = (dispatch) => ({ ... }) export default connect(mapStateToProps, mapDispatchToProps)(FooComponent))

Para el escenario de una aplicación compleja, un estado global grande y una función getStateSlice compleja, me gustaría saber si se ha creado una nueva referencia.

Traté de comparar getStateSlice(state) con state.stateSlice en mapStateToProps con una función refCheck como esta:

 function refCheck(state, props) { if (props.stateSlice === getStateSlice(state)) { console.log('sameRef!!'); } return getStateSlice(state); } const mapStateToProps = (state, props) => ({ stateSlice: refCheck(state) }

Y todo funciona, pero sigo obteniendo los mismos accesorios de valor en ComponentDidUpdate() y una referencia diferente. Prof si esto es lo que obtengo en el componentDidUpdate(prevProps, prevState)

 prevProps === this.props: false JSON.stringify(prevProps) === JSON.stringify(this.props): true

¿Cómo puedo verificar si se crea una nueva referencia para evaluar si un selector funciona correctamente y no crea una nueva referencia en el paso de recuperación de información de estado para los mismos valores por error? También sería útil poder verificar eso en el nivel del reductor y registrar si el reductor está creando una nueva referencia o no.

about 4 years ago · Juan Pablo Isaza
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!