Skip to content
20 changes: 12 additions & 8 deletions packages/react/src/components/IonRouterContext.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { AnimationBuilder } from '@ionic/core/components';
import React, { useContext } from 'react';
import React, { useContext, useMemo } from 'react';

import { RouteAction, RouterDirection, RouterOptions } from '../models';
import { RouteInfo } from '../models/RouteInfo';
Expand Down Expand Up @@ -39,13 +39,17 @@ export const IonRouterContext = React.createContext<IonRouterContextState>({
*/
export function useIonRouter(): UseIonRouterResult {
const context = useContext(IonRouterContext);
return {
back: context.back,
push: context.push,
goBack: context.back,
canGoBack: context.canGoBack,
routeInfo: context.routeInfo,
};

return useMemo(
() => ({
back: context.back,
push: context.push,
goBack: context.back,
canGoBack: context.canGoBack,
routeInfo: context.routeInfo,
}),
[context.back, context.push, context.canGoBack, context.routeInfo]
);
}

export type UseIonRouterResult = {
Expand Down