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

468
Vistas
Cómo convertir decorador @acción a acción no decorador en MobX

Estoy eliminando decoradores de mi aplicación React Native (demasiados problemas con babel) y mis acciones no funcionan (la función contenida no se ejecuta).

Estoy traduciendo acciones de clase, por ejemplo

 class MyStore { //... @action myAction(param) { //... } }

Para

 class MyStore { //... myAction(param) { action("Perform action with param", (param) => { //... }) } }

¿Cuál es la forma correcta de convertir una clase @action a la forma no decoradora?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Puede definir la acción como

 class MyStore { //... myAction = action(param => { //... }); }

o usa runInAction()

 class MyStore { //... myAction(param) { runInAction(() => { //... }) } }
over 4 years ago · Santiago Trujillo Denunciar

0

¿Cuál es la forma correcta de convertir una clase @action a la forma no decoradora?

Los decoradores evalúan las llamadas de función en tiempo de ejecución, por lo que simplemente llamarlas manualmente sería lo más sencillo. @action es un decorador de métodos, y los decoradores de métodos toman los siguientes argumentos en tiempo de ejecución:

  1. El prototipo de clase para métodos de instancia (función constructora para métodos estáticos)
  2. El nombre del método (clave de propiedad)
  3. El descriptor de propiedad del método.

Con eso en mente, simplemente puede hacer:

 class MyStore { myAction(param) { // ... } } // Apply the @action decorator manually: action(MyStore.prototype, "myAction");

o:

 action(MyStore.prototype, "myAction", Object.getOwnPropertyDescriptor(MyStore.prototype, "myAction"));

Si hace esto inmediatamente después de la declaración de la clase, el resultado debería ser completamente idéntico al que se obtiene al usar decoradores, sin tener que usar la sintaxis del decorador.

over 4 years ago · Santiago Trujillo 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