Javascript Redux增强器示例
我是新手。我想知道如何在redux中创建自己的增强剂。我没有找到任何创建增强子的示例。为了创建增强器,我需要传递哪些参数,需要返回哪些参数?创建自定义增强器有什么规则吗 在关于增强器的redux文档中,可以找到以下两个链接(无示例或示例代码)Javascript Redux增强器示例,javascript,redux,react-redux,Javascript,Redux,React 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