store: Error on redux.dispatch
This is a…
- feature request
- bug report
- usage question
What toolchain are you using for transpilation/bundling?
- @ angular/cli
- Custom @ ngTools/webpack
- Raw
ngc
- SystemJS
- Rollup
- Other
Environment
NodeJS Version: 8.11.1 Typescript Version: 2.4.2 Angular Version: 5.0.0 @angular-redux/store version: 7.1.1 @angular/cli version: 1.7.4 OS: Ubuntu 16.04
Expected Behaviour:
It should work 😆
Actual Behaviour:
This message on compiling:
ERROR in node_modules/@angular-redux/store/lib/src/components/ng-redux.d.ts(10,31): error TS2420: Class 'NgRedux<RootState>' incorrectly implements interface 'ObservableStore<RootState>'.
Types of property 'dispatch' are incompatible.
Type 'Dispatch<RootState>' is not assignable to type 'Dispatch<AnyAction>'.
Type 'RootState' is not assignable to type 'AnyAction'.
node_modules/@angular-redux/store/lib/src/components/ng-redux.d.ts(37,33): error TS2344: Type 'RootState' does not satisfy the constraint 'Action<any>'.
node_modules/@angular-redux/store/lib/src/components/root-store.d.ts(18,24): error TS2344: Type 'RootState' does not satisfy the constraint 'Action<any>'.
src/app/actions/note.ts(15,31): error TS2345: Argument of type '{ type: string; payload: Note; }' is not assignable to parameter of type 'IAppState'.
Object literal may only specify known properties, and 'type' does not exist in type 'IAppState'.
src/app/actions/note.ts(19,31): error TS2345: Argument of type '{ type: string; payload: Note; }' is not assignable to parameter of type 'IAppState'.
Object literal may only specify known properties, and 'type' does not exist in type 'IAppState'.
src/app/components/notedesk/notedesk.component.ts(2,32): error TS2307: Cannot find module '../shared/article.service'.
src/app/components/notedesk/notedesk.component.ts(3,25): error TS2307: Cannot find module '../shared/models/article'.
Additional Notes:
Message transalted from german:
The argument of type "{ type: string; payload: Note; }" cannot be assigned to the "IAppState" type parameter.
The object literal can only specify known properties, and "type" is not available in the "IAppState" type.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 3
- Comments: 23 (1 by maintainers)
Same problem here. Only downgrade of Redux to v3.7.2 fixes the issue.
Redux 4 support is included in @angular-redux/store@9
PR to fix this issue: #522
In the mean time I’ve been just updating the respective .d.ts with
dispatch: Dispatch<AnyAction>
I still have this same issue when upgrading my project from Angular 6 to Angular 7. The only difference is that it is complaining because of the incorrect implementation:
I have the current packages installed:
What am I missing?
@danieldaeschle looks like this has been fixed in #527 .
(EDIT the earlier thing I had said about installing via github did not actually work. Think these ones do though…)
It’s not released as 9.0.0 yet, but depending on how bold you are feeling, you could do one of 2 things for workaround:
First Option
Fork, clone, install, pack tarball, push to your github repo, and then npm install tarball from there.
npm install
with itSecond Option
Trust a complete stranger, and use their tarball (noting that they are not a package manager, and could move or remove this at any point).
@kyyash My package.json looks like this.
"@angular-redux/form": "^6.6.0", "@angular-redux/router": "^6.3.1", "@angular-redux/store": "^6.5.7", "redux": "^3.7.2",