fix(mobile-client): fix navigate is incorrect

This commit is contained in:
Dunqing 2023-06-17 22:55:43 +08:00
parent 106f9d90f5
commit 21efc5c66c

View File

@ -2,16 +2,21 @@ import { RouteSwitchProvider, useRouteSwitchContext } from '@nocobase/client';
import React, { useEffect } from 'react'; import React, { useEffect } from 'react';
import MApplication from './Application'; import MApplication from './Application';
import { isJSBridge } from '../core/bridge'; import { isJSBridge } from '../core/bridge';
import { useHistory, useLocation } from 'react-router-dom';
export const RouterSwitchProvider = (props) => { export const RouterSwitchProvider = (props) => {
const { routes, components } = useRouteSwitchContext(); const { routes, components } = useRouteSwitchContext();
// redirect to mobile // redirect to mobile
if (isJSBridge) { const location = useLocation();
const redirectRoute = routes[0]; const history = useHistory();
if (redirectRoute.type === 'redirect' && redirectRoute.to === '/admin') { useEffect(() => {
redirectRoute.to = '/mobile'; if (isJSBridge) {
if (location.pathname.includes('/admin')) {
history.push('/mobile');
}
} }
} }, [history, location.pathname]);
return ( return (
<RouteSwitchProvider <RouteSwitchProvider
routes={routes} routes={routes}