【问题标题】:Error when creating redux store in Angular: Error encountered resolving symbol values statically在 Angular 中创建 redux 存储时出错:遇到静态解析符号值时出错
【发布时间】:2017-12-20 21:13:17
【问题描述】:

错误出现在 app.module.ts 中。相关代码:

import { createStore, Store } from 'redux';
import { rootReducer } from './redux-store/index';

const appStore = createStore(rootReducer);

@NgModule({
  providers: [
    { provide: 'AppStore', useValue: appStore }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

我使用的是最新的 Angular-cli,而以前的版本没有发生这种情况。完整的错误文本是:

错误中的错误遇到静态解析符号值。只能引用已初始化的变量和常量,因为模板编译器需要此变量的值(原始 .ts 文件中的位置 251:14),解析符号 createStore 在 /home/daco/handwork/Angular2/MileageStats2/node_modules/ redux/index.d.ts,解析/home/daco/handwork/Angular2/MileageStats2/src/app/app.module.ts中的符号AppModule,解析/home/daco/handwork/Angular2/MileageStats2/src/中的符号AppModule app/app.module.ts,解析符号AppModule在/home/daco/handwork/Angular2/MileageStats2/src/app/app.module.ts

【问题讨论】:

    标签: angular typescript compiler-errors redux


    【解决方案1】:

    尝试使用useFactory 而不是useValue

    export function appStoreFactory() {
     return createStore(rootReducer);
    }
    
    @NgModule({
      providers: [
        { provide: 'AppStore', useFactory: appStoreFactory }
      ],
      bootstrap: [AppComponent]
    })
    
    export class AppModule { }
    

    【讨论】:

      猜你喜欢
      • 2017-09-06
      • 2023-03-12
      • 1970-01-01
      • 2017-06-09
      • 1970-01-01
      • 2018-01-03
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多