来自 ngrx 的关于运行时检查的警告

Posted

技术标签:

【中文标题】来自 ngrx 的关于运行时检查的警告【英文标题】:Warning from ngrx about runtime checks 【发布时间】:2019-11-29 08:17:44 【问题描述】:

我使用ng update 将我的应用程序从 Angular 7 升级到了 Angular 8。当我通过ng serve 运行它时,我的控制台中会打印来自ngrx 的警告:

@ngrx/store: runtime checks are currently opt-in but will be the default in the next major version with the possibility to opt-out, see https://ngrx.io/guide/migration/v8 for more information.

所提供链接中的文档谈到 ngrx-store-freeze 已被弃用。但是,我的应用程序没有使用ngrx-store-freeze,而且我不知道什么是“运行时检查”。我需要对代码进行哪些更改才能解决此警告的来源?

【问题讨论】:

packagej.json 文件中引用了哪个版本的ngrx? 【参考方案1】:

这个警告出现是因为在 NGRX StoreModule.forRoot 中指定 runtimeChecks 属性来选择店内不变性,则此警告将消失,如下所示:

StoreModule.forRoot(rootReducer, 
      runtimeChecks: 
        strictStateImmutability: true,
        strictActionImmutability: true
            
    )

例子:

@NgModule(
  imports: [
    CommonModule,
    StoreModule.forRoot(rootReducer, 
      runtimeChecks: 
        strictStateImmutability: true,
        strictActionImmutability: true
            
    ),
  ]
)
export class AppModule 

参考:https://medium.com/ngrx/announcing-ngrx-version-8-ngrx-data-create-functions-runtime-checks-and-mock-selectors-a44fac112627

希望这会有所帮助。

【讨论】:

以上是关于来自 ngrx 的关于运行时检查的警告的主要内容,如果未能解决你的问题,请参考以下文章

如何在(签名的)联网应用程序运行时抑制防火墙警告(来自 Xcode)

输入聊天消息时的Firebase警告[重复]

Android Studio 中过时的 Kotlin 运行时警告

@ngrx Effect 没有第二次运行

UIAlertView 在启动时导致警告消息

每当我在终端上运行 tensorflow 时,sklearn 都会发出警告消息