redux-saga采用正则表达式

The*_*imp 9 javascript ecmascript-6 redux redux-saga

我正在使用redux-saga我的网络应用程序,但是我已经达到了我希望能够创建一个saga处理多种不同请求类型的单一点.为了做到这一点,我希望能够使用taketakeEvery使用注册表.例如:

'foo/SOME_REQUEST'
'bar/SOME_REQUEST'
'baz/SOME_REQUEST'
Run Code Online (Sandbox Code Playgroud)

应该通过以下方式处理所有问题:

yield takeEvery('*/SOME_REQUEST', handler);
Run Code Online (Sandbox Code Playgroud)

有谁知道这是否可能或如何实现?

Tan*_*ong 10

您可以使用

yield takeLatest( action => /SOME_REQUEST$/.test(action.type), handler)
Run Code Online (Sandbox Code Playgroud)

要么

yield take( action => /SOME_REQUEST$/.test(action.type))
Run Code Online (Sandbox Code Playgroud)

正如@lukehedger所指出的那样:github问题

检查doc:take(pattern)