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

来源:互联网 发布:广州网络推广公司 编辑:程序博客网 时间:2024/04/28 02:31

react-bits
原文

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

  • 减少重复代码
  • 从表层组件移除跟踪逻辑代码,更有利于测试
import tracker from './tracker.js';// HOCconst pageLoadTracking = (ComposedComponent) => class HOC extends Component {  componentDidMount() {    tracker.trackPageLoad(this.props.trackingData);  }  componentDidUpdate() {    tracker.trackPageLoad(this.props.trackingData);  }  render() {    return <ComposedComponent {...this.props} />  }};// Usageimport LoginComponent from "./login";const LoginWithTracking = pageLoadTracking(LoginComponent);class SampleComponent extends Component {  render() {    const trackingData = {/** Nested Object **/};    return <LoginWithTracking trackingData={trackingData}/>  }}
0 0
原创粉丝点击