本文介绍在 react router v6 中,如何通过 `
在 React Router v6 中,
import { BrowserRouter, Routes, Route } from 'react-router-dom';
const App = () => {
return (
} />
} />
{/* 可扩展更多环境,如 /staging, /local 等 */}
);
};对应地,TopPage 组件接收并使用该 prop:
// TopPage.tsx
interface TopPageProps {
environment: 'prod' | 'dev' | 'staging'; // 推荐使用字面量联合类型
}
const TopPage = ({ environment }: TopPageProps) => {
// ✅ 安全的环境判断(TypeScript 编译期校验)
if (environment === 'dev') {
console.log('Running in development mode — enabling debug tools');
// 例如:初始化 mock service 
worker、加载调试面板等
}
return (
Welcome to {environment.toUpperCase()} Environment
{/* 其他页面内容 */}
);
};
export default TopPage;enum Env {
Prod = 'prod',
Dev = 'dev',
Staging = 'staging'
}
// 类型更明确,IDE 支持自动补全路由的本质是声明「路径 → 视图」的映射关系,而差异化行为应封装在组件内部,通过显式 props 驱动。这种方式既符合 React 的单向数据流思想,又能获得 TypeScript 的强类型保障,同时便于单元测试(可直接传入不同 environment 渲染验证)。保持路由配置简洁、语义清晰,是构建可维护前端应用的关键一步。
来电咨询