withPropsAPI.js 542 B

123456789101112131415161718
  1. import React from 'react';
  2. import PropsAPIContext from '@common/context/PropsAPIContext';
  3. export default function (WrappedComponent) {
  4. class InjectPropsAPI extends React.Component {
  5. render() {
  6. const { forwardRef, ...rest } = this.props;
  7. return (
  8. <PropsAPIContext.Consumer>
  9. {propsAPI => <WrappedComponent ref={forwardRef} {...rest} propsAPI={propsAPI} />}
  10. </PropsAPIContext.Consumer>
  11. );
  12. }
  13. }
  14. return React.forwardRef((props, ref) => <InjectPropsAPI {...props} forwardRef={ref} />);
  15. }