在React搭建的SPA项目中页面的title是直接写在入口index.html中,当路由在切换不用页面时,title是不会动态变化的。那么怎么让title随着路由的切换动态变化呢?
1.在定义路由时增加title属性。
{ path: "/regularinvestment", component: Loadable({ loader: () => import('./../../business/Regularinvestment/index'), loading: PageLoading }), title: "这是自定义的标题" }
2.在路由的index.js获取到自定义的title设置页面标题即可。
const RouteWithSubRoutes = route => { return ( <Route exact path={route.path} render={props => { document.title = route.title || "默认title"; return <route.component {...props} routes={route.routes}></route.component> }} /> ); }; export default () => { return allRouters.map((route, i) => { return <RouteWithSubRoutes key={i} {...route}/> }) };