import React, { useEffect } from 'react';
import { Button, Card, Space, Typography } from 'antd';
import { useNavigate, useParams, useSearchParams } from 'react-router-dom';
import { reportEvent } from '@/firebase';
import { useSmartRouter } from '@/utils/routerUtils';
const { Title, Paragraph } = Typography;
const RouteDemo: React.FC = () => {
const navigate = useNavigate();
const params = useParams();
const [searchParams] = useSearchParams();
const smartNavigate = useSmartRouter();
useEffect(() => {
console.log('✅ routeDemo组件挂载:componentDidMount');
reportEvent('routeDemoPage_show');
return () => {
console.log('❌ routeDemo组件卸载:componentWillUnmount');
reportEvent('routeDemoPage_hide');
};
}, []);
return (
路由示例
1. 路由参数
当前路由参数:{JSON.stringify(params)}
当前查询参数:{JSON.stringify(Object.fromEntries(searchParams))}
2. 路由跳转
3. 带参数的路由跳转
4. 重定向示例
使用 navigate 的 replace 选项(替换历史记录):
使用 /to 路由进行重定向:
使用 useSmartRouter 保持查询参数:
);
};
export default RouteDemo;