亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

讓 xstate 機器接收事件并更新上下文(但不更改狀態),無論它處于哪種狀態

讓 xstate 機器接收事件并更新上下文(但不更改狀態),無論它處于哪種狀態

白衣非少年 2023-06-15 10:05:18
基本上,我有很多不同的狀態。我希望機器能夠通過事件從外部接收和更新上下文(無論它處于哪種狀態)。我發現此鏈接說明事件如何成為根級別...?使用 xstate,是否可以配置適用于所有狀態并在所有狀態和子狀態中以相同方式處理的事件?但我似乎還記得 new assigns() 在狀態改變之前是如何真正生效的。
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

我不知道它在任何地方都有記錄,但我從 xstate 論壇中了解到的一個看似不錯的解決方案是進行頂級轉換。


{

  initial: 'Idle',

  on: {

    NEW_BLOCK: {

      actions: assign({

        block: 'addNewBlock'

      }),

      internal: true,

    },

  },

  states: {

    Idle: {},

    StateOne: {},

    StateTwo: {},

  }

}

這將導致整個機器始終監視“NEW_BLOCK”事件,并將其添加到上下文中,無論該事件是否在空閑、StateOne、StateTwo 或您可能添加的任何其他狀態期間到達。無論機器處于哪種狀態,它都會導致自轉換。但是更新后的上下文將在之后立即可用。


查看完整回答
反對 回復 2023-06-15
  • 1 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號