问题描述
请看下面我的更新。
场景:当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;
}),
更新:
我一整天都在做这件事,我所能做的就是访问当前状态。问题是机器 _state 是私有的,我不知道如何在 action
中访问它 const { machines = {},data,form,} = ctx;
const { order } = form;
const index = 0;
const currentStep = order[index];
const machine = machines[currentStep];
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)