React Dva项目中路由跳转的方法

这篇具有很好参考价值的文章主要介绍了React Dva项目中路由跳转的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接下来 我们来看看路由跳转
先打开 我们Dva项目
React Dva项目中路由跳转的方法,react.js,javascript,前端然后我们需要在routes 下创建一个自己的路由,如果您尚未掌握在Dva项目中创建路由,可以参考我的文章 React 在Dva项目中修改路由配置,并创建一个自己的路由

然后 我的项目有两个路由 router.js代码如下
React Dva项目中路由跳转的方法,react.js,javascript,前端
一个 / 一个 /ProductPage

其实跳转路由的方式很多 第一种 Link
然后 我们在首页 / 下这样写

import { Link } from "dva/router";

这里 我们引入了Link组件 注意 这里 不再是router 而是 dva下的router 它做了一个封装
然后在页面上这样写

<Link to="/ProductPage">去ProductPage</Link>

使用这个Link组件 to指定要跳转的路径 /ProductPage
然后 我们运行项目
React Dva项目中路由跳转的方法,react.js,javascript,前端
然后点击我们写的按钮
React Dva项目中路由跳转的方法,react.js,javascript,前端
这里 就已经完成了跳转

但是 很多时候 我们希望在事件里面做跳转
首先 我们函数方式的组件 需要在方法中接一下props参数
React Dva项目中路由跳转的方法,react.js,javascript,前端
如果是 类 class 的组件 可以这样 this.props 拿到
然后 我们外面声明一个事件

const toProductPage = () => {
   props.history.push("/ProductPage");
}

然后 页面上面 我们可以写个按钮 来点击调用这个函数

<Button onClick={ toProductPage } type="primary">Primary Button</Button>

React Dva项目中路由跳转的方法,react.js,javascript,前端
运行项目
React Dva项目中路由跳转的方法,react.js,javascript,前端
然后点击我们绑定事件的按钮 这样就完成页面的跳转了
React Dva项目中路由跳转的方法,react.js,javascript,前端
我们 还可以通过 routerRedux 来完成
首先 引入它

import { routerRedux } from "dva/router";

还是在dva帮我们封装的router下面
然后 我们将之前的toProductPage改成这样

const toProductPage = () => {
    props.dispatch(routerRedux.push("/ProductPage"));
}

React Dva项目中路由跳转的方法,react.js,javascript,前端
再次点击 依旧能顺利完成跳转

还有一个比较特殊的东西
我们在src下的 components 目录下创建一个 text.jsx
参考代码如下

import React from "react"
export default class Product extends React.Component {
    constructor(props){
      super(props);
      this.state = {
      }
    }

    toProductPage = () => {
        this.props.history.push("/ProductPage");
     }

    render(){
      return (
        <div>
           <button onClick={ this.toProductPage }>Primary Button</button>
        </div>
      )
    }
}

我们声明了一个class类形式的组件 然后 在根组件中引入它
React Dva项目中路由跳转的方法,react.js,javascript,前端
运行项目 之后 我们尝试点击按钮
React Dva项目中路由跳转的方法,react.js,javascript,前端
这里就报错了 因为这个组件并不在路由包裹下
React Dva项目中路由跳转的方法,react.js,javascript,前端
在路由包裹下的 这有这两个组件
React Dva项目中路由跳转的方法,react.js,javascript,前端
这时 我们可以通过withRouter来解决问题
我们将 text.jsx 代码改成这样

import React from "react"
import { withRouter } from "dva/router";
class Product extends React.Component {
    constructor(props){
      super(props);
      this.state = {
      }
    }

    toProductPage = () => {
        this.props.history.push("/ProductPage");
     }

    render(){
      return (
        <div>
           <button onClick={ this.toProductPage }>Primary Button</button>
        </div>
      )
    }
}

export default withRouter(Product)

withRouter 也是在dva封装的router中引入
然后 它是一个高阶函数
我们再次运行项目
然后 点击按钮
React Dva项目中路由跳转的方法,react.js,javascript,前端
我们的页面跳转就完成了
React Dva项目中路由跳转的方法,react.js,javascript,前端文章来源地址https://www.toymoban.com/news/detail-604637.html

到了这里,关于React Dva项目中路由跳转的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue实现路由跳转的方法

            router-link是vue中提供的一种跳转页面的相关方式 1.其中router-link中使用v-bind绑定了一个对象(其实也可以理解成路由跳转的目的地) 2.其中有两种跳转方法,1-利用你的路由名字来进行跳转(推荐跳转的方法)  2-利用路由的path来进行跳转,但使用这种方法来进行跳转有

    2024年02月09日
    浏览(31)
  • JS 实现页面跳转的几种方法

    我总结了这五种方法: 第一种:使用JS跳转页面 (1)跳转带参 (2)跳转无参 第二种:返回上一次预览界面 HTML页面嵌套 第三种:button按钮添加事件跳转   第四种:在新窗口打开 第五种:通过meta设置跳转页面 这里还有一个页面传值 第一个页面 第二个页面

    2024年02月01日
    浏览(32)
  • <React-Router>超全react路由知识点(跳转、传参、子路由、重定向等)

    目录 一、路由环境配置 1.搭建一个项目名为boke(自定义),编辑文档语言为TypeScript的项目环境。 2.安装所有package.json中的依赖----安装包(注意要【cd 项目名】进入项目文件安装) 3.添加React-Router路由 4.文件、目录相关修改与搭建 二、路由的懒加载  三、路由跳转 1.标签跳转(

    2024年02月11日
    浏览(37)
  • React V6路由跳转,跳转传参(params,search,state)

    注意:以下代码为个人笔记,不全,需自行调整,方可使用 公共跳转方法

    2024年02月11日
    浏览(32)
  • 【前端知识】React 基础巩固(四十一)——手动路由跳转、参数传递及路由配置

    利用 useNavigate 封装一个 withRouter(hoc/with_router.js) 添加到hoc/index.js文件中 利用withRouter,拦截Home组件,实现手动跳转路由 路由参数传递包括:1.动态路由传参;2.查询字符串传参 改造withRouter,通过 useParams() 和 useSearchParams() 来接收两种参数传递: 在界面中,通过params来接收

    2024年02月14日
    浏览(41)
  • React Dva 操作models中的subscriptions讲述监听

    接下来 我们来看一个models的属性 之前没有讲到的subscriptions 我们可以在自己有引入的任意一个models文件中这样写 这样 一进来 这个位置就会触发 这里 我们可以写多个 然后 我们运行后会发现 他们都是可以触发的 这里 我们可以用它来监听一些东西 然后触发我们models中的函数

    2024年02月14日
    浏览(43)
  • JavaScript 框架比较:Angular、React、Vue.js

    在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。这些首字母相同的选项各自代表不同的技术加工具组合。为了在这些技术栈中做出明智选择,让我们先从核心组件聊起,再对各自前端框架(React、Angular 和 Vue)进行简化比

    2024年01月20日
    浏览(46)
  • react 11之 router6路由 (两种路由模式、两种路由跳转、两种传参与接收参数、嵌套路由,layout组件、路由懒加载)

    npm i react-router-dom 两种模式 Router:所有路由组件的根组件,包裹路由的最外层容器 Link:跳转路由组件 Routes :用于定义和渲染路由规则( 用于替换 Switch 组件) Route:路由规则匹配组件,显示当前规则对应的组件 exact = 精确匹配,只有当 path 和 pathname 完全匹配时才会展示该路由

    2024年02月12日
    浏览(32)
  • 常见路由跳转的几种方式

    常见的路由跳转有以下四种: 1. router-link to=\\\"跳转路径\\\"  也可,如 2. this.$router.push() 跳转到指定的url,并在history中添加记录(即,点击回退,会退回上一个页面) 。 html中,如: 3. this.$router.replace() 跳转到指定的url, 但不会在history记录(即,点击回退 退回到上上个页) 4

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包