React Router v6升级后,路由配置优化成为性能调优的关键环节。本文分享如何通过合理配置路由参数来减少不必要的组件渲染。
核心问题
在v6版本中,当路由参数发生变化时,整个路由组件会重新渲染。通过使用useParams和useLocation钩子,并结合memo或useMemo进行优化,可以有效避免不必要的重渲染。
实践方案
import { useParams, useLocation } from 'react-router-dom';
import { memo, useMemo } from 'react';
const MyComponent = memo(() => {
const params = useParams();
const location = useLocation();
// 使用useMemo缓存计算结果
const computedData = useMemo(() => {
return processData(params.id, location.search);
}, [params.id, location.search]);
return <div>{computedData}</div>;
});
配置优化
在路由配置中,通过shouldRender属性或条件渲染逻辑来控制组件挂载时机,进一步提升性能。
复现步骤
- 创建多个路由层级
- 在子路由中使用动态参数
- 添加性能监控观察渲染次数
- 应用上述优化方案对比效果

讨论