import React, {useMemo, useState} from 'react'; import Popup from "@components/Popup"; import { useNavigate } from 'react-router-dom'; import {ROUTE_TYPE_FULL, ROUTE_TYPE_IN, ROUTE_TYPE_POP} from "@constants/routes"; const i18n=global.i18n; const RouteWrapper = (props) => { const { Comp, route} = props; const navigate = useNavigate() /** useMemo 缓存query,避免每次生成生的query */ const renderIn=()=>{ let isexit=false; if (Comp!=null)isexit=true; return ( <> { isexit?:<> } ); } const handleClose = () => { navigate(-1); } const renderPop=()=>{ let comp=(<>); if (Comp!=null)comp=Comp; return(
{comp}
) } const renderComp=()=>{ let comp=(<>); if (route.type===ROUTE_TYPE_FULL||route.type===ROUTE_TYPE_IN){ comp=renderIn(); } else if (route.type===ROUTE_TYPE_POP){ comp=renderPop(); } return comp; } return ( renderComp() ); }; export default RouteWrapper;