演员和在xstate中调用服务有什么区别?

我对演员和在 xstate 中调用服务之间的区别有点困惑,因为它们在我看来是一样的。

回答

最简单的解释是services绑定到它们所处的状态。当机器进入/存在该状态时,它们会启动和停止。

Actors 不受特定状态的约束,它们可以在机器进入特定状态时启动和停止,但它们存在于上下文中,并且可以访问机器中的每个状态。

示例:子机器即服务(机器进入pending状态时启动,机器处于此状态时自动停止。

const parentMachine = Machine({
  id: 'parent',
  initial: 'pending',
  states: {
    pending: {
      invoke: {
        src: childMAchine
      }
    }
  }
});

示例:子机器作为参与者,在机器进入waiting状态时启动,作为localOne属性存在于上下文中。

const parentMachine = Machine({
  id: 'parent',
  initial: 'waiting',
  context: {
    localOne: null
  },
  states: {
    waiting: {
      entry: assign({
        localOne: () => spawn(childMachine)
      })
    }
  }
});


以上是演员和在xstate中调用服务有什么区别?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>