Open rmorrise opened 5 years ago
+1 I am also wondering how to add epic to fractal store
@rmorrise @mika1111 Since actions that are dispatched from component using WithSubStore decorator will append sub store path with '@angular-redux::fractalkey'. You can have other action to take the value of sub store path and epic could simply pass it along.
const ping = (...yourArgs, fractalKey?: string) => ({
type: PING,
...yourArgs,
'@angular-redux::fractalkey': fractalKey
})
const pong = (...yourArgs, fractalKey?: string) => ({
type: PONG,
...yourArgs,
'@angular-redux::fractalkey': fractalKey
})
const pingToDaPong = action$ => action$
.ofType(PING)
.map(action => {
return pong(action.arg1, action.arg2, action['@angular-redux::fractalkey'])
})
This is a...
What toolchain are you using for transpilation/bundling?
ngc
Environment
NodeJS Version: 8.11.2 Typescript Version: 2.7.2 Angular Version: 6.0.3 @angular-redux/store version: 9.0.0 @angular/cli version: (if applicable) 6.0.7 OS: win32 x64
Steps to reproduce:
@WithSubStore
createEpicMiddleware
Expected Behaviour:
The epic triggers and creates a new action. Both the root reducer and the substore reducer should receive the new action.
Actual Behaviour:
The root reducer receives the new action, but the substore reducer does not!
Additional Notes:
What is the correct way to use epics and fractal stores together?
I noticed that the action, when dispatched to the substore, has a property like this:
action['@angular-redux::fractalkey']
I found that I could set this property explicitly when creating the action to fix the issue.This seems like it relies on some unpublished implementation detail of angular-redux, and I somehow feel like it defeats the purpose of epic/substore usage.
Any help would be appreciated!
Thanks