正如标题中提到的,我正在使用 React 构建一个考虑到通量方法的应用程序。如何记录触摸移动或触摸启动事件启动的所有方法?似乎在谷歌上找不到这样的东西...
我认为最少
代码的最大价值来自创建自己的中间件,该中间件在操作对象通过调度函数时查找事件。下面是一些示例代码,它们适用于 react-create-app,可以轻松修改以满足您的目的:
function createLogger(typeOfEvent) {
return () => (next) => (action) => {
let e;
function isEvent(value) {
return value.hasOwnProperty('bubbles')
}
Object.values(action).map(value => {
if (isEvent(value)) {
e = value;
}
})
if (e.type === typeOfEvent) {
console.log(e);
}
let returnValue = next(action)
return returnValue
}
}
const logger = createLogger('click')
export const store = createStore(reducer, applyMiddleware(logger));
然后,确保在某处调度所有操作,并将适当的事件作为值:
<div className="App" onClick={(e) => store.dispatch({type: 'ACTION', e })}>