React:react-router-dom 详解

使用react构建单页面应用:

  实现方法:(1)react-router

       (2)react-router-dom

react-router: 实现了路由的核心功能,而react-router-dom依赖react-router,

react-router-dom: 基于react-router,加入了在浏览器运行环境下的一些功能:

          Link组件,会渲染一个a标签;

          BrowserRouter组件,使用pushStatepopState事件构建路由;

          HashRouter组件,使用window.location.hashhashchange事件构建路由。

          react-router-native: 基于react-router,类似react-router-dom,加入了react-native运行环境下的一些功能。

react-router-dom路由详解:

    静态路由:

          

然后我们在index.js中引入路由组件进行渲染:

          

我们可以使用a标签或Link组件进行路由的跳转,Link从react-router-dom引入;

                 

  动态路由传参:

    第一种:在组件的路由后面加/:id;

    

     然后我们在对应组件Detail中修改代码来进行获取ID:

     

   第二种:

    隐式传参(通过函数跳转):

      

    

重复使用push或a标签跳转会产生死循环,为了避免这种情况出现,react-router-dom提供了replace。在可能会出现死循环的地方使用replace来跳转:  

    

返回上级页面使用:

    

     
 
    

    

原文地址:https://www.cnblogs.com/lovels/p/11574700.html

时间: 2024-11-12 13:38:32

React:react-router-dom 详解的相关文章

React—组件生命周期详解

React-组件生命周期详解 转自 明明的博客  http://blog.csdn.net/slandove/article/details/50748473 (非原创) 版权声明:转载请注明出处,欢迎加入QQ群(115402375)讨论!博客编写已经转移到http://blog.csdn.net/limm33 在组件的整个生命周期中,随着该组件的props或者state发生改变,它的DOM表现也将有相应的改变,一个组件就是一个状态机,对于特定的输入,它总会返回一致的输出. React为每个组件

虚拟DOM详解

虚拟DOM简介 Virtual Dom可以看做一棵模拟了DOM树的JavaScript对象树,其主要是通过vnode,实现一个无状态的组件,当组件状态发生更新时,然后触发Virtual Dom数据的变化,然后通过Virtual Dom和真实DOM的比对,再对真实DOM更新.虚拟DOM其实就是一种模拟DOM的JavaScript数据结构. 像SnabbDOM这种库的虚拟DOM是如下的数据结构: sel 元素选择器 data 元素属性 ● children 元素子节点 ● text 元素文本 ● e

JavaScript(2)---DOM详解

JavaScript(2)---DOM详解 一.DOM概念 什么是DOM DOM全称为文本对象模型(Document Object Model),它定义了所有HTML元素的对象和属性,以及访问他们的方法.它的主要作用包括: 改变HTML 元素 , 改变HTML属性 , 改变CSS 样式,对页面中的所有事件做出反应. 1.DOM 节点树 概念 DOM模型将整个HTML文档看成一个树形结构,并用document对象表示该文档,树的每个子节点表示HTM档中的不同内容. 如图 上图对应的html代码如下

2019年17道高频React面试题及详解

以下面试题来源于github项目前端面试指南,那里有超过200道高频前端面试题及答案,目前拥有1400star. 为什么选择使用框架而不是原生?框架的好处: 组件化: 其中以 React 的组件化最为彻底,甚至可以到函数级别的原子组件,高度的组件化可以是我们的工程易于维护.易于组合拓展.天然分层: JQuery 时代的代码大部分情况下是面条代码,耦合严重,现代框架不管是 MVC.MVP还是MVVM 模式都能帮助我们进行分层,代码解耦更易于读写.生态: 现在主流前端框架都自带生态,不管是数据流管理

React Native之this详解

this引起的错误详解 我们在学习React Native的过程中,肯定经常遇见过undefined is not an object这样的问题吧,尤其是刚开始学习的时候,使用this.props或者this.setState的时候会报类似于如下错误: 接下来我们来分析以下到底是什么原因造成的错误, 根据错误的提示,找到报错的代码,我们会发现: 报错的都是this.props.?或者this.setState(?),都是出现在有this的地方 报错的原因是没有定义该对象,而我们都知道this代表

react.js 从零开始(四)React 属性和状态详解

属性的含义和用法: 1.属性的含义. props=properties 属性:一个事物的性质和关系. 属性往往与生俱来,不可以修改. 2. 属性的用法. <Helloworld name=??? /> 这个name 可以是 变量 ,对象,数组,函数表达式的值. var props={ a:1, b:2 } <Helloworld {...props} /> 这样react就会自动遍历props对象并添加到属性中去. 状态的含义和用法: 1.状态的含义. state 状态:事物所处的

React Native通信机制详解

本文转载至 http://blog.cnbang.net/tech/2698/?from=groupmessage&isappinstalled=1 React Native是facebook刚开源的框架,可以用javascript直接开发原生APP,先不说这个框架后续是否能得到大众认可,单从源码来说,这个框架源码里有非常多的设计思想和实现方式值得学习,本篇先来看看它最基础的JavaScript-ObjectC通信机制(以下简称JS/OC). 概览 React Native用iOS自带的Java

React中的PropTypes详解

propTypes用来规范props必须满足的类型,如果验证不通过将会有warn提示. React PropTypes的种类有: React.PropTypes.array // 队列 React.PropTypes.bool.isRequired // Boolean 且必须 React.PropTypes.func // 函数 React.PropTypes.number // 数字 React.PropTypes.object // 对象 React.PropTypes.string //

JavaScript学习总结(三)BOM和DOM详解

转自:http://segmentfault.com/a/1190000000654274 DOM介绍 D(文档)可以理解为整个Web加载的网页文档,O(对象)可以理解为类似window对象只来的东西,可以调用属性和方法,这里我们说的是document对象,M(模型)可以理解为网页文档的树形结构,DOM树由节点构成 节点种类:元素节点.文本节点和属性节点 DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API).DOM代表着被加载到浏览器窗口里的当前网页:浏览器向我们提供了当前网

DOM详解

浏览器工作的基本流程 1.浏览器开始解析html文档,构建DOM树(DOM tree),DOM树的节点由文档的标签.属性.文本等组成:2.解析外部CSS文件及style标签中的样式信息,这些样式信息将结合DOM树中可见的部分构建另一棵树--渲染树(render tree),DOM 树和渲染树并不是一一对应的,例如DOM树中的head节点以及display属性为none的节点就不会显示在渲染树中,但是visibility属性值为hidden的节点仍会显示:3.渲染树构建好了之后,将会执行布局过程,