when to use higher-order components code example

Example 1: how to pass props to higher order component

just pass your props as normal to the WrappedComponent

//App Component / root component
import React from 'react';
import WrappedComponent from "./WrappedComponent";

export default function App() {
    return (
        <div>
            <WrappedComponent name="CreatorOfCode" />
        </div>
    )
}
//******************************************************************************
// WrappedComponent
import React from 'react';
function WrappedComponent({}) {
    return (
        <div>
            <h1>Hello World</h1>
        </div>
    )
}

export default ComponentEnhancer(WrappedComponent)
//*****************************************************************************
// higher order component called ComponentEnhancer
import React from 'react';
import PropTypes from 'prop-types';
export default (WrappedComponent) => {
    const hocComponent = ({ ...props }) => {
    		console.log(props.name)//CreatorOfCode
            return <WrappedComponent {...props} 
    	}/>

    hocComponent.propTypes = {};
    return hocComponent;
}

Example 2: Higher order components (HOC) react native

const EnhancedComponent = higherOrderComponent(WrappedComponent);