npm i react-as-component
import AsComponent from 'react-as-component';
function MyDivFromAsComponent (){
return <AsComponent as={"div"}>...</AsComponent>;
}
Example button, which can be link
import AsComponent from 'react-as-component';
function MyButton({ asLink = false, value = "" }) {
return <AsComponent as={asLink ? 'a' : 'button'}>{value}</AsComponent>;
}
or Link from react-router-dom
import { Link } from 'react-router-dom';
import AsComponent from 'react-as-component';
function MyButton({ asLink = false, value = "" }) {
return <AsComponent as={asLink ? Link : 'button'}>{value}</AsComponent>;
}