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

203
Views
¿Qué sugieres para deshacer?

Utilizo una serie de datos de la siguiente manera:

 [ { name: 'name1', background:'red', child:[ { name:'', id:'', color:'', text:'', border:'' }, { name:'', id:'', color:'', text:'', border:'' } ] }, { name: 'name2', background:'red', child:[ { name:'', id:'', color:'', text:'', border:'' }, { name:'', id:'', color:'', text:'', border:'' } ] } ]

Voy a guardar todos los cambios en otra variable, y utilicé una copia profunda para hacer eso, pero cuando inicio sesión, las variables son las mismas. Necesito a los niños todos los cambios de los niños también.

Lo escribí en Reductores

 const Reducers =(state = initialState, action) => { switch (action.type) { case NEW_OBJECTS_PAST: const OldPast = JSON.parse(JSON.stringify(state.past)) const newDate = JSON.parse(JSON.stringify(state.present)) // const newDate = _.cloneDeep(state.present); const newPast = [ OldPast, newDate ]; return { ...state, past : _.cloneDeep(newPast) , } case OBJECTS: return { ...state, present: action.objects, // future:[] }

¿Sugiere otra forma de compilar deshacer en REACT y REDUX ? Probé las bibliotecas disponibles para esto, pero no obtuve respuesta.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Las dos primeras observaciones:

  • nunca debe realizar una clonación profunda de partes de su estado, no le brinda ningún beneficio ya que el estado es inmutable de todos modos, pero es muy perjudicial para el uso de la memoria y el rendimiento (tanto cuando se realiza la clonación profunda como cuando se usa el estado clonado profundo ),
  • debe usar el kit de herramientas Redux, que facilita mucho la escritura de reductores inmutables y evita muchos errores.

Para implementar deshacer, no estoy seguro de lo que se supone que significan sus acciones, pero puede hacerlo de la siguiente manera

  • el estado contiene state.present (el estado actual) y state.past (una matriz de estados pasados)
  • cada vez que realiza una acción que desea deshacer, empuja el estado actual state.present al final de state.past y calcula el nuevo state.present
  • cada vez que quieras deshacer, extraes el último elemento de state.past y lo pones en state.present .

En su código no puedo ver ninguna acción de deshacer, y también está creando matrices anidadas debido a new Past = [oldPast, new Date] , lo más probable es que haya querido difundir oldPast .

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