NgRx自定义状态消毒剂

时间:2019-12-17 15:10:46

标签: angular redux ngrx

任何人都可以向我提供一个自定义状态清除程序(StoreDevtoolsConfig.stateSanitizer)的示例,该示例在 redux tools 扩展处于活动状态时仅有效。以下是我的自定义消毒剂,该消毒剂始终有效。

const stateSanitizer = (state: any) => {
   return {
    ...state,
    myView: {
        ...state.myView,
        myEditor: {
            ...state.myView.myEditor,
            myPhrases: 'LONG BLOB'
        }
    }
};
}

1 个答案:

答案 0 :(得分:0)

我要寻找的是如何在特定条件下应用自定义消毒剂,即redux工具处于活动状态。因此,以下情况适用于我的问题

declare global {
 interface Window {
   __REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: typeof compose;
 }
}

const stateSanitizer = (state: any) => {
  if (window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) {
     return {
         ...state,
         myView: {
           ...state.myView,
           myEditor: {
             ...state.myView.myEditor,
             myPhrases: 'LONG BLOB'
           }
         }
     };
  }
}