Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Redux增强器示例_Javascript_Redux_React Redux - Fatal编程技术网

Javascript Redux增强器示例

Javascript Redux增强器示例,javascript,redux,react-redux,Javascript,Redux,React Redux,我是新手。我想知道如何在redux中创建自己的增强剂。我没有找到任何创建增强子的示例。为了创建增强器,我需要传递哪些参数,需要返回哪些参数?创建自定义增强器有什么规则吗 在关于增强器的redux文档中,可以找到以下两个链接(无示例或示例代码) Redux文件说 中间件为Redux分派功能添加了额外的功能;增强器为Redux存储添加了额外的功能。。。一种中间件,用于记录已调度的操作和生成的新状态。一个增强器,记录减速机处理每个动作所花费的时间 所以,我不确定自定义中间件和自定义增强器编码规

我是新手。我想知道如何在redux中创建自己的增强剂。我没有找到任何创建增强子的示例。为了创建增强器,我需要传递哪些参数,需要返回哪些参数?创建自定义增强器有什么规则吗

在关于增强器的redux文档中,可以找到以下两个链接(无示例或示例代码)

Redux文件说

中间件为Redux分派功能添加了额外的功能;增强器为Redux存储添加了额外的功能。。。一种中间件,用于记录已调度的操作和生成的新状态。一个增强器,记录减速机处理每个动作所花费的时间

所以,我不确定自定义中间件和自定义增强器编码规则是否与下面的相同

const loggerMiddleware = storeAPI => next => action => {
  console.log('dispatching', action)
  let result = next(action)
  console.log('next state', storeAPI.getState())
  return result
}
因此,我的问题是如何创建自定义增强器?

是商店增强器接口

export type StoreEnhancer<Ext = {}, StateExt = never> = (
  next: StoreEnhancerStoreCreator<Ext, StateExt>
) => StoreEnhancerStoreCreator<Ext, StateExt>
export type StoreEnhancerStoreCreator<Ext = {}, StateExt = never> = <
  S = any,
  A extends Action = AnyAction
>(
  reducer: Reducer<S, A>,
  preloadedState?: PreloadedState<S>
) => Store<ExtendState<S, StateExt>, A, StateExt, Ext> & Ext
例如:

const round=number=>Math.round(number*100)/100
const monitoreducerenhancer=createStore=>(
减速器,
初始状态,
增强子
) => {
const monitoreducer=(状态、操作)=>{
const start=performance.now()
const newState=reducer(状态、动作)
const end=performance.now()
常数差=圆形(结束-开始)
log('reducer process time:',diff)
返回新闻状态
}
返回createStore(监视器还原器、初始状态、增强器)
}
导出默认监视器Educherenhancer
是商店增强器界面

export type StoreEnhancer<Ext = {}, StateExt = never> = (
  next: StoreEnhancerStoreCreator<Ext, StateExt>
) => StoreEnhancerStoreCreator<Ext, StateExt>
export type StoreEnhancerStoreCreator<Ext = {}, StateExt = never> = <
  S = any,
  A extends Action = AnyAction
>(
  reducer: Reducer<S, A>,
  preloadedState?: PreloadedState<S>
) => Store<ExtendState<S, StateExt>, A, StateExt, Ext> & Ext
例如:

const round=number=>Math.round(number*100)/100
const monitoreducerenhancer=createStore=>(
减速器,
初始状态,
增强子
) => {
const monitoreducer=(状态、操作)=>{
const start=performance.now()
const newState=reducer(状态、动作)
const end=performance.now()
常数差=圆形(结束-开始)
log('reducer process time:',diff)
返回新闻状态
}
返回createStore(监视器还原器、初始状态、增强器)
}
导出默认监视器Educherenhancer