启用reactRouter,让Navigator支持多页面
启用reactRouter,让Navigator支持多页面
当前系统就一个页面,感觉是时候让她晋级到多页面程序了。
网上此类教程,我只记录我需要的最小范围。
0.目标
整站由原来的一个页面,变成2个页面 首页和 /English 两个页面
1.安装reactRouter
这里默认安装都是cnpm,除非装不上再换npm
cnpm install react-router-dom --save-dev
2.配置代码 RouterIndex.js
import React from 'react';
import WrapNavigator from './Navigator'
import English from './English'
import {
BrowserRouter as Router,
Switch,
Route,
} from "react-router-dom";
function RouterIndex () {
return (
<Router>
<Switch>
<Route path="/" exact component={WrapNavigator}></Route>
<Route path="/English" component={English}></Route>
</Switch>
</Router>
)
}
export default RouterIndex
注意 path="/" 后面要加上 exact,这样就是两个单独的页面了,要不会进行向下匹配
3.添加链接可以进行页面跳转
有 组件,但是暂时不用,Navigator里面先用默认的a,弹出跳转先用着就好了
遇到问题:由于引入了ReactRouter,线上的地址和本地地址路径不一样
开发地址:http://192.168.40.54:3000/
线上地址:http://pengchenggang.gitee.io/navigator/
线上地址目录是 /navigator 而本地地址是 / 所有又出现了根目录地址不统一问题。
正统应该查询 react process.env.NODE_ENV 设置根目录
<Router basename="/navigator">
<Link to="/tomorrow"/> 这个没用在导航上
添加404.html文件,要不BrowserRouter不能用,只能用hash了
附录
reactRouter官方文档
https://reactrouter.com/web/guides/quick-start
启用reactRouter,让Navigator支持多页面的更多相关文章
- nginx如何启用对HTTP2的支持 | nginx如何验证HTTP2是否已启用
nginx启用HTTP2特性 查看当前nginx的编译选项 1 #./nginx -V 2 3 nginx version: nginx/1.9.15 4 built by gcc 5.4.0 2 ...
- 支持微信页面右侧悬浮QQ在线客服
使用方法: 1.将style里的css样式复制到你的样式表中 2.将body中的代码部分拷贝到你需要的地方即可 (js.图片采用绝对路径,不建议修改) <!DOCTYPE html PUBLIC ...
- React-Router browserHistory浏览器刷新出现页面404解决方案
在React项目中我们经常需要采用React-Router来配置我们的页面路由,React-Router 是建立在 history 之上的,常见的history路由方案有三种形式,分别是: 1.has ...
- Equinox OSGi服务器应用程序的配置步骤 (支持JSP页面)
本文介绍在Eclipse里如何配置一个简单的基于Eclipse Equinox OSGi实现的Web应用程序,在它的基础上可以构造更加复杂的应用,本文使用的是Eclipse 3.3.1版本,如果你的E ...
- iOS 6.0之后支持一个页面横屏的方法
拿两个页面举例子: 0.开启旋转: 1.第一个界面实现以下方法 /** * 默认显示的方向,preferredInterfaceOrientationForPresentation必须返回一个支持的接 ...
- Duilib中Webbrowser事件完善使其支持判断页面加载完毕
在多iframe的页面中,需要结合DISPID_DOCUMENTCOMPLETE和DISPID_NAVIGATECOMPLETE2两个事件判断页面是否加载完毕,而duilib中没有提供对DISPID_ ...
- react-router路由地址变了页面却没有跳转的解决办法
最近,自己在摸索react的时候,遇到一个很奇葩的问题,大概是这样的: 我从列表页使用Link跳转到详情页面,列表页面的路由是'/list',详情页面的路由是'/list/detail',由于详情页面 ...
- react-router url参数更新 但是页面不更新的解决办法
今天发现, 当使用react-router(v4.2.2)时,路由需要传入参数, 但是如果路由跳转时,url仅仅改变的是参数部分,如从hello/1跳转到hello/2,此时虽然参数更新了,但是页面是 ...
- 用jQuery File Upload做的上传控件demo,支持同页面多个上传按钮
需求 有这么一个需求,一个form有多个文件要上传,但又不是传统的图片批量上传那种,是类似下图这种需求,一开始是用的swfupload做的上传,但是问题是如果有多个按钮的话,就要写很多重复的代码,于为 ...
- CI 笔记 datagrid的调用,不支持多页面多次调用js
在导航列表中,调用datagrid时,如果用js加载datagrid时,不知为何,报“404错误”找不到网页, 用datagrid时,用网页的形式调用,则没有问题. ----------------- ...
随机推荐
- 8.5 C++ 继承与多态
C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...
- 8.5 CheckRemoteDebuggerPresent
CheckRemoteDebuggerPresent 也是一个微软提供的反调试函数,该函数可以在本地或者远程进程中使用.函数接收两个参数进程句柄和一个指向布尔值的指针.如果指定的进程正在被调试,则函数 ...
- Flask 框架实现自定义分页
手撸的表格分页: Flask框架下的分页,我研究了很久,自带的分页方法不稳定,还不如自己手撸的好使. <!--name:ndex.html--> <!DOCTYPE html> ...
- 驱动开发:如何枚举所有SSDT表地址
在前面的博文<驱动开发:Win10内核枚举SSDT表基址>中已经教大家如何寻找SSDT表基地址了,找到后我们可根据序号获取到指定SSDT函数的原始地址,而如果需要输出所有SSDT表信息,则 ...
- LeetCode刷题日记 2020/8/23
题目描述 给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点). 示例 1: 输入: [5,7] ...
- 开发者必看!苹果App Store重大调整:App上架必须有ICP备案号
日前,苹果App Store迎来重大调整,即日起中国大陆上架的App必须具备有效的互联网信息服务提供者(ICP)备案号. 简单说,新App现在需要填写备案号才能提审,这就要求开发者应用需有备案号,另外 ...
- 教你用JavaScript实现调皮的字母
案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,制作提高打字速度的小游戏-调皮的字母.点击与屏幕上字母相对应的按键,若按键与出现的字母一致 ...
- (python)每日代码||2024.1.27||类方法与实例方法
class test(): aaa = 111 bbb = 222 ccc = 333 @classmethod def cm(cls): cls.aaa="***" def im ...
- docker离线安装及设置默认存储目录
一.离线安装Docker 在内网环境下,一般不能联网在线部署,这时候就需要以离线的方式安装docker.本文介绍在CentOS 7.6环境中离线安装docker的步骤. 1. 下载docker安装包 ...
- NC13224 送外卖
题目链接 题目 题目描述 n 个小区排成一列,编号为从 0 到 n-1 .一开始,美团外卖员在第0号小区,目标为位于第 n-1 个小区的配送站. 给定两个整数数列 a[0]~a[n-1] 和 b[0] ...