Files
2020-12-07 09:31:33 -07:00

35 lines
806 B
TypeScript

import React from 'react';
import { NavContext } from '../contexts/NavContext';
export interface IonRouteProps {
path?: string;
exact?: boolean;
show?: boolean;
render: (props?: any) => JSX.Element;
disableIonPageManagement?: boolean;
}
interface IonRouteState {}
export class IonRoute extends React.PureComponent<IonRouteProps, IonRouteState> {
context!: React.ContextType<typeof NavContext>;
render() {
const IonRouteInner = this.context.getIonRoute();
if (!this.context.hasIonicRouter() || !IonRoute) {
console.error(
'You either do not have an Ionic Router package, or your router does not support using <IonRoute>'
);
return null;
}
return <IonRouteInner {...this.props} />;
}
static get contextType() {
return NavContext;
}
}