Don’t Mutate the Original Component. Use Composition. Resist the temptation to modify a component’s prototype inside a HOC. Mutating HOCs is a leaky abstraction—the consumer must know how they are implemented to avoid conflicts with other HOCs. Instead of mutation, HOCs should use composition, by wrapping the input component in a container component:
HOCs add features to a component. It’s expected that the component returned from a HOC has a similar interface to the wrapped component.
HOCs should pass through props that are unrelated to its specific concern