React项目中想在不同的路由页面都有自己的独立title,并且统一设置。

可以在每个路由页面的 componentDidMount() 钩子回调中 document.title = ‘title’ 来设置,但是这样太麻烦,每个路由页面都需要单独设置

于是,研究出一种更好的方式,在Index.js 入口处统一设置 document.title = ‘title’:

我的项目是把路由和设置独立写的,方便管理,以及其他权限功能等等。

routes.js

import Index from "../pages/Index";
import Home from '../pages/Home/Index'
import Classify from '../pages/Home/Classify'
import ShoppingCart from '../pages/Home/ShoppingCart'let routes = [{path: '/Index',component: Index,meta:{title:'商城首页'}},{path:'/Home',component:Home,meta:{title:'主页'},children:[{path:'/Home/Classify',component:Classify,meta:{title:'商品分类'},},{path:'/Home/ShoppingCart',component:ShoppingCart,meta:{title:'购物车'},}]}
]export default routes

index.js 入口文件:

import React from 'react';
import ReactDOM from 'react-dom'
import routes from './router/routes'
import { HashRouter, Route, Switch, Redirect } from "react-router-dom";
import App from "./App";
import { Provider } from 'react-redux'


利用 document.title 在每个Route路由文件设置

这里不推荐使用 onEnter 钩子函数设置,此API在react-router 4.0 被废弃了

设置title效果图:

React-router 5.0项目中统一动态设置路由页面Title相关推荐

  1. Vue 动态设置路由Meta title 名称

    路由配置 import ('@/views/accountManagement/editMain'), beforeEnter: (to, from, next) => {if (to.quer ...

  2. 初探 React Router 4.0

    React Router 4.0 (以下简称 RR4) 已经正式发布,它遵循React的设计理念,即万物皆组件.所以 RR4 只是一堆 提供了导航功能的组件(还有若干对象和方法),具有声明式(引入即用 ...

  3. vue 项目中,动态修改浏览器标签页的图标

    vue 项目中,动态修改浏览器标签页的图标 需求: 项目中有一个入口可以修改平台的名称和图标,图标同步展示为浏览器页签的图标 实现: 1.找到项目中的app.vue 文件,动态创建link标签,调用后 ...

  4. [react] 你有在项目中使用过Yeoman脚手架吗?

    [react] 你有在项目中使用过Yeoman脚手架吗? 前端工程化脚手架部分必备的依赖,用于初始化生成规范的项目目录 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷. ...

  5. MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据

    MariaDB 10.0.X中,动态列(Dynamic Columns),可以支持 JSON 格式来获取数据. 为了兼容传统SQL语法,MariaDB 10和MySQL5.7支持原生JSON格式,即关 ...

  6. TypeScript及TypeScript在vue3.0项目中的基本使用

    一. TypeScript是什么 TypeScript 是一种由微软开发的自由开源的编程语言,主要提供了类型系统和对 ES6的支持.它是JavaScript的一个超集,扩展了JavaScript的 语 ...

  7. 【Andorid X 项目笔记】动态设置ViewPager的Adapter问题(2)

    由于没有找到嵌套FragmentActivity的方法,只好打算用不同的FragmentPagerAdapter来动态切换ViewPager的,如下: /**      * 首页切换的三个界面     ...

  8. Vue项目中background-image属性设置方法

    vue项目中background-image属性设置方法 方式一:直接访问 在vue-cli项目中的放在public目录下的资源会被直接复制,不会经过webpack的打包处理. <span cl ...

  9. python编写交互界面查分app_Django项目中model的数据处理以及页面交互方法

    Django中Models是什么: 通常,一个Model对应一张数据表, Django中Models以类的形式表现, 它包含一些基本字段以及数据的一些行为 ORM: 对象关系映射(Object Rel ...

最新文章

  1. 原360首席科学家颜水成正式加入依图科技,任首席技术官
  2. 【转】从3个科技公司里学到的57条经验
  3. 做一些Spring AOP做过的事,封装 jdk动态代理成为一个黑盒子
  4. CSDN转载别人文章的详细步骤
  5. 不定积分24个基本公式_不定积分计算—典型题及解题技巧
  6. Memcached通用类(基于enyim.com Memcached Client)
  7. Android Activity类讲解(一)
  8. Javascript -- In
  9. 浅谈opencl之错误码
  10. 记录最近业务中出现的两个问题
  11. (ECCV-2020)步态横向网络-GLN
  12. 4. (5.22~6.8)2022年自动化保研信息+分析汇总(夏令营)
  13. 谷歌浏览器调试技巧【三】
  14. otg usb 定位_USB OTG插入检测识别
  15. caffe 搭建参数服务器(1)—— 用MPI实现多节点同时训练一个模型
  16. win10关闭快速启动_注意:win10系统快速启动功能虽然好用,但也会带来一些麻烦...
  17. 机器学习可视化技术(Towards Data Science)
  18. 关于EFI系统分区(ESP)你应该知道的3件事
  19. 用java做个新手引导功能,Unity3D新手引导开发手记
  20. Python处理字节(bytes bytearray)

热门文章

  1. 论文笔记:Cross-Lingual Semantic Role Labeling with High-Quality Translated Training Corpus
  2. POX安装和部分配置
  3. SCALABLE PRIVATE LEARNING WITH PATE论文笔记
  4. flex box froggy
  5. AD 2020 Gym-102770A
  6. 详解BOM头以及去掉BOM头的方法
  7. android textview全角,bug-textview半角,英文展示不全
  8. 计算机学院篮球队介绍,体育风尚丨拼搏砥砺 勇往直前 ——专访计算机学院男子篮球队...
  9. 统计蚂蚁(ants)
  10. 解决windows 2003下安装卡巴斯基