@@ -17,7 +17,7 @@ interface IonicReactInternalProps<ElementType> extends React.HTMLAttributes<Elem
1717
1818export const createReactComponent = < PropType , ElementType > (
1919 tagName : string ,
20- hrefComponent = false
20+ routerLinkComponent = false
2121) => {
2222 const displayName = dashToPascalCase ( tagName ) ;
2323 const ReactComponent = class extends React . Component < IonicReactInternalProps < PropType > > {
@@ -41,7 +41,7 @@ export const createReactComponent = <PropType, ElementType>(
4141 attachEventProps ( node , this . props , prevProps ) ;
4242 }
4343
44- private handleClick = ( e : MouseEvent ) => {
44+ private handleClick = ( e : React . MouseEvent < PropType > ) => {
4545 const { routerLink, routerDirection } = this . props ;
4646 if ( routerLink !== undefined ) {
4747 e . preventDefault ( ) ;
@@ -62,16 +62,19 @@ export const createReactComponent = <PropType, ElementType>(
6262 return acc ;
6363 } , { } ) ;
6464
65- const newProps : any = {
65+ const newProps : IonicReactInternalProps < PropType > = {
6666 ...propsToPass ,
6767 ref : forwardedRef ,
6868 style
6969 } ;
7070
71- if ( hrefComponent ) {
71+ if ( routerLinkComponent ) {
72+ if ( this . props . routerLink && ! this . props . href ) {
73+ newProps . href = this . props . routerLink ;
74+ }
7275 if ( newProps . onClick ) {
7376 const oldClick = newProps . onClick ;
74- newProps . onClick = ( e : MouseEvent ) => {
77+ newProps . onClick = ( e : React . MouseEvent < PropType > ) => {
7578 oldClick ( e ) ;
7679 if ( ! e . defaultPrevented ) {
7780 this . handleClick ( e ) ;
0 commit comments