启用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时,用网页的形式调用,则没有问题. ----------------- ...
随机推荐
- 3.3 DLL注入:突破会话0强力注入
Session是Windows系统的一个安全特性,该特性引入了针对用户体验提高的安全机制,即拆分Session 0和用户会话,这种拆分Session 0和Session 1的机制对于提高安全性非常有用 ...
- PostFix+Dovecot 部署邮件系统
Postfix 是一种电子邮件服务器是一个开放源代码的软件. Postfix 是MTA邮件传输代理软件.是sendmail提供替代品的一个尝试,在Internet世界中,大部分的电子邮件都是通过sen ...
- 驱动开发:如何枚举所有SSDT表地址
在前面的博文<驱动开发:Win10内核枚举SSDT表基址>中已经教大家如何寻找SSDT表基地址了,找到后我们可根据序号获取到指定SSDT函数的原始地址,而如果需要输出所有SSDT表信息,则 ...
- Windows XP Professional with Service Pack 3 (x86)
Windows XP Professional with Service Pack 3 (x86) 链接:https://pan.baidu.com/s/1p99vLx5psoq9K4ONlRpkZA ...
- windows-网页流视频下载
一.m3u8 视频在线提取工具 https://blog.luckly-mjw.cn/tool-show/m3u8-downloader/index.html
- NC25045 [USACO 2007 Jan S]Balanced Lineup
题目链接 题目 题目描述 For the daily milking, Farmer John's N cows (1 ≤ N ≤ 100,000) always line up in the sam ...
- 解锁Mysql中的JSON数据类型,怎一个爽字了得
引言 在实际业务开发中,随着业务的变化,数据的复杂性和多样性不断增加.传统的关系型数据库模型在这种情况下会显得受限,因为它们需要预先定义严格的数据模式,并且通常只能存储具有相同结构的数据.而面对非结构 ...
- Eclipse文本编码格式修改为UTF-8 的方法
整理自网络,亲测可用,记录一下,方便下次查. 一般Java文件编码格式是UTF-8的.以下以默认GBK改为UTF-8为例. 1.改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式. e ...
- zabbix-server.service failed解决方法
1.问题描述 centos7中安装的zabbix server在重启系统后无法启动了,查看状态报错如下: 2.问题原因 selinux没有关闭! 3.解决 永久关闭selinux, 将SELINUX值 ...
- OCP试题解析之053-61 RMAN set command id to
61.You frequently have multiple RMAN sessions running, and you want to be able to easily identify ea ...