试着用React写项目-利用react-router解决跳转路由等问题(一)
来源:互联网 发布:新疆为什么没有4g网络 编辑:程序博客网 时间:2024/05/21 06:53
继续本周的大方向,继续学习React,昨天把简单的hi all内容呈现出来后,今天研究如何多页面或者实现页面嵌套,
开始今天的内容前老规矩,先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android
在传统的静态网页里,我们页面跳转通过超级链,页面重定向,转发等等姿势来解决多页面展示和逻辑跳转,而React对这部分做了很好的封装,也做成了 主件。
要是用也是国际惯例,npm下!!
- 1
- 1
下完后直接import就可以使用,像这样
- 1
- 1
Router是大壳子,类似于路由容器的东西
Route是具体实施路由的对象
hashHistory表示路由切换的hash值,决定最终结果
因为直接的项目结构比较建的随意,所以把目录进行了重新整理,把main.js变成一个大容器,不做任何业务主件使用,像这样。
这一部分 react官方的例子写的很详细很棒,大家也可以看https://github.com/reactjs/react-router-tutorial,或者把他的demo跑一跑 豁然开朗。
上面提到了router其实和使用常规主件一样倒入,使用即可最基本的也就是以下这种形式
- 1
- 1
我们先来写一个简单的页面
首先是昨天的ui搬家到了新的first.js
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
然后在我们的main.js
调用他
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
我们倒入了 first和react-router所用到的相关对象
Router容器下有一个Route节点会让我们的页面中多出first部分的内容
长这样
那我如果要路由到其他页面呢?
那我们来建一个页面来让他渲染
two.js
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
这是一个最基本的页面,就不解释了(建议手打,找找手感)
需要修改的知识main.js里的render部分
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
浏览器输入http://localhost:8080/#/two
看看效果吧
因为主件可以是单一控件,也可以是试图组,所以Router也是,它可以嵌套多个<route>
新建一个 three.js试试吧
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
页面和two.js一样所以可以copy下。
我们强行让three嵌套入first
修改如下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
其实现在的内容就是
- 1
- 2
- 3
- 1
- 2
- 3
输入http://localhost:8080/#/three
看看吧
这一篇简单的介绍下这一套姿势如何简单的使用,其实react大多数功能都是如此,封装的简单易用,下一篇还会讲 路由相关
周末愉快!!!
- 试着用React写项目-利用react-router解决跳转路由等问题(一)
- 试着用React写项目-利用react-router解决跳转路由等问题(一)
- 试着用React写项目-利用react-router解决跳转路由等问题(二)
- 试着用React写项目-利用react-router解决跳转路由等问题(三)
- 试着用React写项目-利用react-router解决跳转路由等问题(二)
- 试着用React写项目-利用react-router解决跳转路由等问题(三)
- 试着用React写项目-利用react-router解决跳转路由等问题(四)
- react入门之路由----react-router的跳转问题
- 试着用React写项目-利用styled-components解决样式问题
- React笔记(一):react-router跳转传值
- react-router JS 控制路由跳转
- react-router 路由控制页面跳转
- react 项目学习笔记一(react-router中的history)
- React-router路由实践
- React-router路由实践
- react-router路由
- React-router路由实践
- react-router 路由匹配
- [蓝桥杯]数组排序
- nginx之rtmp模块引用计数设计
- Android 获取常用的系统及应用的版本信息
- in和exists、not in和not exists性能对比
- Outlook2007 设置Subject未添加提示和附件未添加成功提示
- 试着用React写项目-利用react-router解决跳转路由等问题(一)
- MtK Camera FAQ
- [高性能MySQL]-事务与隔离界别
- 获取到listView的高度
- 拉格朗日乘子法及KKT条件证明
- MySQL进阶漂流记(六)
- Openfiler 创建NAS存储
- Browser对象
- 【PAT】1113. Integer Set Partition