cookingnoob / rtc-nasa

0 stars 0 forks source link

Bug in url update on Calendar #1

Open d01000100 opened 1 year ago

d01000100 commented 1 year ago

https://github.com/cookingnoob/rtc-nasa/blob/ea22865c1a26a1ff1e7c1a16872550a66deac712/src/components/Calendar.jsx#L14-L25

Aquí no sé si esté bien ese if. Porque sí cambias la url a lo que debe de ser, pero solo la guardas en el estado con el setUrl

Afuera del if, sigues manipulando la url original y después la sobre escribes.

El usar setUrl2 veces causa 2 renders, que podrían ser solo 1.

Yo haría algo:

useEffect(() => { 
  let _url = url;
   if (_url.includes('rovers/curiosity/latest_photos')) { 
     const changeRoverToCalendar = `${ROVER_CALENDAR}${date}` 
     // Aca se que _url tiene la url correcta
     _url = changeRoverToCalendar
   } 

   const deleteUrlDate = _url.slice(0, -10); 
   const newUrlDate = `${deleteUrlDate}${date}` 
   // Solo llamo a setUrl 1 vez
   setUrl(newUrlDate); 

 }, [date]); 
d01000100 commented 1 year ago

Si es que sí está sirviendo, ha de ser porque el primer setUrl causa que se re renderice el componente, interrumpiendo el useEffect o pausandolo. Y ya después cuando continúa, el url del prop es el nuevo. Pero seguro sí andas haciendo un rerender de más