antd Modal.alert 在effects中如何回调另一个effect

khic 发布于 2018-06-20 dva 最后更新 2018-07-22 15:12 7 浏览

我用dva和antd在开发项目中,有个业务场景是从接口获取数据判断后弹窗提示,确认后执行effct A
我的业务逻辑是写在model里的,但是Modal.alert的 onprss里写的回调又不能用 yield put。
有什么好的处理方式吗?还是说开发思路有问题?

Code to reproduce the issue: (请提供可复现的代码或者步骤)

        Modal.alert('', `请确认是否完成`, [
          {text: '取消', onPress: () => yield put({type: 'effectA', paylaod: 'test'})},
          {text: '确认', onPress: () => yield put({type: 'effectB', paylaod: 'test'})},
        ]);

Expected behavior: (预期的正常效果)

Actual behavior: (实际效果)

yield is a reserved word in strict mode (248:38)

Versions of packages used: (哪个库的哪个版本出现的问题)

已邀请:

dmodi

赞同来自:

用dispatch 然后callback呢

ut_eos

赞同来自:

yield put 写在 effect 内,或调用接口后的回调。

dispatch({
  type: 'namespace/effect',
  payload: {}
}).then(() => {
  // here is callback function
})

uet

赞同来自:

dispatch({
type: 'namespace/effect',
payload: {}
}).then(() => {
// here is callback function
})

qquas

赞同来自:

你的场景和我需要的eventChannel差不多. #1818