angular-redux / store

Angular 2+ bindings for Redux
MIT License
1.34k stars 205 forks source link

Typings Error when using Redux 4.0.0 #521

Closed kevinrjones closed 6 years ago

kevinrjones commented 6 years ago

This is a...

What toolchain are you using for transpilation/bundling?

Environment

NodeJS Version: 8.4.0 Typescript Version: 2.8.1 (but also tried on earlier version) Angular Version: 5.2 @angular-redux/store version: 7.1.1 @angular/cli version: (if applicable) 1.7.4 OS: Mac OSX

I'm completely new to Redux and angular/redux and don't know if you are supporting Redux 4.0.0 yet but I'm seeing an issue when using 4.0.0

To reproduce:

Run ng new myapp add references in package.json to Redux 4.0.0 and @angular-redux/store 7.1.1 in app.module.ts add import { NgReduxModule } from "@angular-redux/store";

run ng build and you get the following error

ERROR in node_modules/@angular-redux/store/lib/src/components/ng-redux.d.ts(37,14): error TS2416: Property 'dispatch' in type 'NgRedux<RootState>' is not assignable to the same property in base type 'ObservableStore<RootState>'.
  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>'.

Tried this with Redux 3.7.2 and all works as expected. It looks like there are a few updates to the types in 4.0.0

christikaes commented 6 years ago

Duplicate of #519

SethDavenport commented 6 years ago

Redux 4 introduced breaking changes to the typedefs. If you want to use angular-redux/store@7 you need to be on Redux 3.7.2

Conversely, if you want to be on Redux 4 you'll have to update the entire ecosystem:

cuni0716 commented 5 years ago

npm i -S redux works for me