如何在 xState 操作中获得 Formik 答案集?

问题描述

请看下面我的更新。

场景:当onEntry进入提交状态时,它会触发一个定义的saveData操作。此操作保留表单数据,问题是我无法访问数据,尽管如果我对数据集对象进行硬编码并使用它可以工作。我可以看到数据存在于 ctx.bank_details._state.context.answers

// state 
      [submit]: { 
        onEntry: saveData,type: 'final' 
      },// action
      [saveData]: assign((ctx,ev) => {
        console.log('test');
        const { data } = ctx;
        const answers1 = ctx.machines?.answers;
        const answers = {
          "account_no": "123","transit_no": "123","bank_no": "bank_no","sin": "123","dob": "123","postal_code": "1","province": "B","city": "123","apt_suite": "123","address": "123","last_name": "123","first_name": "123",} as any;
        (async (data: any,answers: any) => {
          apiCall(
            `service/answers`,{
              body: { answers },method: 'PUT',},data.context,).catch((error) => error);
        })(data,answers);
        return ctx;
      }),

enter image description here

更新:

我一整天都在做这件事,我所能做的就是访问当前状态。问题是机器 _state 是私有的,我不知道如何在 action

中访问它
        const { machines = {},data,form,} = ctx;
        const { order } = form;
        const index = 0;
        const currentStep = order[index];
        const machine = machines[currentStep];

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)