Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

474
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda