greena13/react-hotkeys

View on GitHub
src/lib/overrideComponent.js

Summary

Maintainability
A
0 mins
Test Coverage
import React, { Component } from 'react';

import Configuration from './config/Configuration';

function overrideComponent(displayName) {
  return class OverrideComponent extends Component {
    static displayName = displayName;

    render() {
      const {hotKeys, ...remainingProps} = this.props;

      const DefaultComponent = remainingProps.component || Configuration.option('defaultComponent');

      return (
        <DefaultComponent { ... { ...hotKeys, ...remainingProps } } />
      )
    }
  }
}

export default overrideComponent;