在ngrx DevTools中使用logOnly选项有什么用?

时间:2018-02-28 11:54:20

标签: angular redux ngrx

我在https://github.com/ngrx/platform/tree/master/docs/store-devtools阅读了简约文档,并了解您可以按以下方式添加工具:

StoreDevtoolsModule.instrument({
  logOnly: environment.production
})

据说,如果logOnly标志为true,您的应用程序将以仅日志模式连接到Redux DevTools扩展,它的开销非常小,因为它不应存储状态数据,而只记录操作名称在运行期间发生的事情。

但是在我的实验中,我仍然在ngrx DevTools面板中看到状态数据,那么使用logOnly:true有什么好处?

2 个答案:

答案 0 :(得分:4)

如果您发送的链接scroll down a little bit,则会看到:

  

logOnly:boolean - 以仅日志模式连接到Devtools扩展。默认值为false,启用所有扩展功能。

指向extensions features

的链接

基于此,我们可以假设将logOnly设置为true会关闭以下redux-devtools-extension功能:

const composeEnhancers = composeWithDevTools({
  features: {
    pause: true, // start/pause recording of dispatched actions
    lock: true, // lock/unlock dispatching actions and side effects    
    persist: true, // persist states on page reloading
    export: true, // export history of actions in a file
    import: 'custom', // import history of actions from a file
    jump: true, // jump back and forth (time travelling)
    skip: true, // skip (cancel) actions
    reorder: true, // drag and drop actions in the history list 
    dispatch: true, // dispatch custom actions or action creators
    test: true // generate tests for the selected actions
  },
});

这对于生产环境来说是理想的,因为您可能并不真正需要或希望在您的实时应用程序上运行这些内容。

答案 1 :(得分:0)

使用logOnly保证状态的完整性

您无法修改它,例如,动作分派器已关闭。在仅日志模式下,您可以查看日志,但不能对其进行修改。