Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
Why route parameters mutating in react navigation?

In react native application i am using react navigation. I am send a object from one screen to other. After one section i am running a function which makes copy of my route parameter and modifying the copy. But my original parameter is also modifying. I do not want to modify the original object. How to avoid mutating parameters ?

Here is my parameter structure

{
  id: 1
  name: 'some name',
  productOptions: [
    {
      productOptionId: 1
      productOptionName: 'Option name'
      options: [
        {
          name: 'some option name',
          value: 12
        },
        {
          name: 'some option name',
          value: 12
        },
        {
          name: 'some option name',
          value: 12
        }
      ]
    },
    {
      productOptionId: 1
      productOptionName: 'Option name'
      options: [
        {
          name: 'some option name',
          value: 12
        },
        {
          name: 'some option name',
          value: 12
        },
        {
          name: 'some option name',
          value: 12
        }
      ]
    }
  ]
}

Here is my screen code

const MyScreen({navigation, route}){
   const product = route.params.product
    const productOptions =  route.params.productOptions
  const [newOptionState, setNewOptionState] = useState([])
  useEffect(() => {
      setTimeout(()=>setPreSelected(), 1000)
   }, [])
   
     const setPreSelected = ()=>{
         let tempProductOptions = [...productOptions]
      tempProductOptions.map((item)=>{
         if(item.options.length && item.options.length>1){
             item.options.splice(1)
         }
     })
       setNewOptionState(tempProductOptions)
  }
}

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda