REACT:记录事件执行的所有方法,特别是touchstart和touchmove



正如标题中提到的,我正在使用 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 })}>    

最新更新