react-bits:使用HOC共享跟踪逻辑

前端之家收集整理的这篇文章主要介绍了react-bits:使用HOC共享跟踪逻辑前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

react-bits
原文

使用高阶组件在不同的组件间共享跟踪逻辑
例如:给不同组件添加分析跟踪代码

  • 减少重复代码
  • 从表层组件移除跟踪逻辑代码,更有利于测试
import tracker from './tracker.js';

// HOC
const pageLoadTracking = (ComposedComponent) => class HOC extends Component {
  componentDidMount() {
    tracker.trackPageLoad(this.props.trackingData);
  }

  componentDidUpdate() {
    tracker.trackPageLoad(this.props.trackingData);
  }

  render() {
    return <ComposedComponent {...this.props} />
  }
};

// Usage
import LoginComponent from "./login";

const LoginWithTracking = pageLoadTracking(LoginComponent);

class SampleComponent extends Component {
  render() {
    const trackingData = {/** Nested Object **/};
    return <LoginWithTracking trackingData={trackingData}/>
  }
}
原文链接:https://www.f2er.com/react/304364.html

猜你在找的React相关文章