map
просто отображает один элемент на другой, поэтому, когда вы возвращаете [action1, action2]
, вы все равно возвращаете массив и redux-observable
пытается рассматривать его как само действие. Вместо этого вам нужно «развернуть» возвращаемый массив (или Observable, созданный с помощью concat
).
Таким образом, вместо использования map
вы можете использовать mergeMap
(или concatMap
), и когда вы вернете массив, он будет повторять его и делать отдельные выбросы для каждого элемента:
mergeMap(response => [
setData(response.data),
{ type: 'hello' },
]),
Если это выглядит слишком странно, вы можете обернуть массив с помощью from
, чтобы сделать его более очевидным:
mergeMap(response => from([
setData(response.data),
{ type: 'hello' },
])),
Вы даже можете использовать один of
:
mergeMap(response => of(
setData(response.data),
{ type: 'hello' },
)),