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

277
Vistas
¿Cuáles son las diferencias claras entre la ejecución automática y la reacción y cuándo usar cuál?

¿Cuál es la diferencia entre autorun y reaction ? Estoy buscando una explicación completa que ayude a decidir cuándo usar cuál. ¿Es posible que la reaction pueda incluso activarse mientras que autorun no lo hace? ¿Cómo se relacionan entre sí?

¿Son ambos iguales?

 autorun(() => { localStorage.setItem("current_order", JSON.stringify(this.currentOrder)) })
 reaction( () => JSON.stringify(this.currentOrder), (json) => { localStorage.setItem("current_order", json) } )

Hasta donde yo sé, el primer parámetro de reaction evaluará y verificará los cambios, por lo que se desea para los valores calculados, pero ¿no debería funcionar bien autorun si this.currentOrder es observable? ¿Se JSON.stringify(this.currentOrder) en reaction , incluso cuando this.currentOrder sea observable y no haya cambiado?

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

0

autorun se ejecuta inmediatamente después de que se inicializó, la reaction se ejecuta solo después de que la expresión de datos haya cambiado después de la inicialización.

Además, debido a reaction se ejecuta solo cuando cambia la expresión de datos, puede usar otros observables en la función de efecto, lo que no funcionaría para autorun porque se suscribe a todos los observables que usa dentro de ella, lo que significa que la reaction brinda un control más detallado.

EDITAR:

Agregando un ejemplo para que quede más claro

Considere este ejemplo, tiene dos observables A y B, y quiere hacer algo con B cuando A cambia, pero no quiere hacer nada cuando B cambia. Si solo hace que se ejecute autorun , se ejecutará cuando cambie cualquiera de los observables, por lo que no es lo que desea. Pero con la reaction , solo es posible reaccionar a los cambios de A (solo usando A en la función de expresión).

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