#chicos tengo un objeto en un estado var1
1 messages · Page 1 of 1 (latest)
@rugged yacht Te creo un hilo para no afectar el canal
Puedes mandar una captura del componente para poder ver que estás haciendo
por si le da a salir sin guardar dejar el sgmento como estaba
cuando eliminas un filtro, var2 no se modifica, pero si añades un filtro var2 sí se modifica (entiendo que por el renderizado)
y ya no se si es porque es una referencia, porque se renderiza o por que
te muestro codigo
En index.jsx
const [segmentsInfo, setSegmentsInfo] = useState(segmentsData) const [provisionalSegment, setProvisionalSegment] = useState({id: '', emoji: '', filters: []})
En segment.jsx cuando clickas un segmento:
setProvisionalSegment([...segmentsInfo])
y en SegmentFooter que es donde esta el boton salir sin guardar:
function recoverData(provisionalSegment, setProvisionalSegment, segmentsInfo, setSegmentsInfo, lastSegmentClicked){ let index = segmentsInfo.findIndex(segment => segment.id == lastSegmentClicked) let newSegment = [...segmentsInfo] newSegment[index].emoji = provisionalSegment[index].emoji newSegment[index].filters = provisionalSegment[index].filters setSegmentsInfo(newSegment) }
actualmente puedes crear un segmento, editarlo, guardar etc todo ok pero si has creado un nuevo filtro y sales sin guardar, se eliminan tooodos los filtros
{id: '', emoji: '', filters: Array(0)} te printea eso como provisionalSegment, y luego da error cuando intenta leer el segmento
si printeo provisionalSegment.emoji me da undefined
o sea que no está guardando los valores
justo lo he cambiado ahora, faltarian los [index] en provisionalSegment porque ahora es una copia directa de toda la variable
no se si se entiende bien
que tocho madre de dios
Me queda difícil ayudarte por que puede que el error este en lo que me dices como puede que este en otra parte, es posible que me compartas el repo?
Si, creo que si entendí lo que quieres lograr, pero no creo que tenga que ver el tema de las referencias