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

246
Vistas
¿Qué tan peligroso es mutar un accesorio Vue por parte del niño?

Vue permite mutar accesorios, pero no se recomienda. En los documentos (https://vuejs.org/guide/components/props.html#one-way-data-flow ) encontré que

Como práctica recomendada, debe evitar este tipo de mutaciones [mutación de accesorios anidados por parte del niño] a menos que el padre y el niño estén estrechamente acoplados por diseño.

Esto me parece que no es una buena práctica hacerlo, pero está bien. Sin embargo, en todas las publicaciones del foro que encontré, dicen cosas como "¡nunca hagas esto!" y que volver a renderizar el componente principal puede incluso corromper los datos (es decir, Vue 2 - Mutating props vue-warn ).

Si fuera por mí, simplemente me apegaría a la recomendación y no discutiría sobre esto. Sin embargo, el equipo en el que trabajo usa mucho la mutación de accesorios.

Hasta ahora funciona, pero me temo que en el futuro puede haber problemas. ¿Existe el riesgo de que en futuras versiones Vue realmente pueda prohibir esto? ¿O que aplican cambios sutiles que serían compatibles solo para el código que sigue la recomendación?

Lo que me pregunto es cómo otras personas se enfrentan a situaciones en las que los cambios son profundos en el objeto. Cuando esto se hace a través de emisiones, también se necesitan muchas emisiones en todos los componentes intermedios.

También sería interesante saber cuán poco común es la práctica con la mutación de accesorios. ¿Alguno de vosotros lo hace de la misma manera?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay 2 tipos de mutaciones: cuando muta un valor primitivo (Cadena, Número, Booleano) y cuando muta un Objeto.

La mutación de una propiedad de valor primitivo dentro del elemento secundario restaurará el valor original que proviene del elemento principal tan pronto como se vuelva a renderizar el elemento secundario.
La peligrosidad de esto depende completamente de su caso de uso: Vue solo puede advertirle "Amigo, asegúrese de saber lo que está haciendo". Eventualmente, en algunas de las próximas versiones de Vue, pueden reemplazar la advertencia con un error, pero incluso los mantenedores no saben cuándo y si esto puede suceder.

Mutar un Objeto es en realidad mutar sus propiedades y, dado que se accede a los Objetos por referencia en lugar de valor, todas las mutaciones del hijo persistirán y afectarán al padre (que podría no esperar tales efectos secundarios). Nuevamente, depende completamente de su caso de uso, pero a veces es simplemente más conveniente mutar directamente en lugar de señalar al padre mediante la emisión de eventos, especialmente si los datos mutados están más profundos en el Objeto.

El único riesgo para usted es que debe monitorear su aplicación (y la consola del navegador) para detectar el momento en que estas advertencias de Vue se convierten en errores.
El mejor curso de acción es tratar de convencer a sus colegas para que refactoricen el código y eviten estas mutaciones tanto como sea posible (probablemente no podrá deshacerse de todas ellas).

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