Я пытаюсь настроить приставку в angular 7. Я прошел большинство учебных пособий, но большинство из них вводят не только модульный подход, но и непосредственный ввод.Я новичок в угловой 7.
Что я сделал до сих пор: мой магазин / module.ts
import { NgModule } from '@angular/core';
import { NgReduxModule, NgRedux, DevToolsExtension } from '@angular-redux/store';
import { IAppState } from '@/_models'
import { rootReducer } from './reducers';
@NgModule({
imports: [NgReduxModule, ],
})
export class StoreModule {
constructor(
public store: NgRedux<IAppState>,
devTools: DevToolsExtension,
) {
store.configureStore(
rootReducer,
{},
devTools.isEnabled() ? [ devTools.enhancer() ] : []);
}
}
Ошибка в строке корневого редуктора:
Аргумент типа 'Reducer <{userReducer: IUser;}, AnyAction> 'нельзя назначить параметру типа' Reducer '.Типы параметров 'state' и 'state' несовместимы.
Мой reducer.ts:
import { combineReducers } from 'redux';
import { userReducer } from '@/_reducers'
export const rootReducer = combineReducers({
userReducer,
});
Мой user.ts:
export interface IUser {
id: number;
username: string;
password: string;
firstName: string;
lastName: string;
token: string;
}
Мой пользователь Редуктор:
import { UserActions } from '@/_actions';
import { Action } from 'redux';
import { IUser } from '@/_models'
const INITIAL_STATE: IUser = {
id: 0,
username: '',
password: '',
firstName: '',
lastName: '',
token: '',
};
export function userReducer(state: IUser = INITIAL_STATE, action: Action) {
switch (action.type) {
case UserActions.SET_USER_ID:
return {
...state,
id: 1,
};
}
return state;
}
Мой app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { routing } from './app-routing.module';
import { AppComponent } from './app.component';
import { LoginComponent } from './login/login.component';
import { HomeComponent } from './home/home.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { StoreModule } from '@/store'
@NgModule({
declarations: [
AppComponent,
LoginComponent,
HomeComponent
],
imports: [
BrowserModule,
routing,
FormsModule,
ReactiveFormsModule,
StoreModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Это может быть тривиально для специалистов по угловым 7, но любая помощь приветствуется.Что мне не хватает?Обратите внимание, что я хочу хранить модуль магазина отдельно.