zoukankan      html  css  js  c++  java
  • reactrouterdom编程式路由导航

    react-router-dom编程式路由导航

    V5版本

    1.push跳转+携带params参数

    props.history.push(`/b/childl/${id}/${title}`);
    

    2.push跳转+携带search参数

    props.history.push(`/b/childl?id=${id}&title=${title}`);
    

    3.push跳转+携带state参数

    props.history.push(`/b/child`,{id,title});
    

    4.replace跳转+携带params参数

    this.props.history.replace(`/home/message/detail/${id}/${title}`)
    

    5.replace跳转+携带search参数

    this.props.history.replace(`/home/message/detail?id=${id}&title=${title}`)
    

    6.replace跳转+携带state参数

    this.props.history.replace(`/home/message/detail`,{id,title});
    

    7.前进

    this.props.history.goForward();
    

    8.回退

    this.props.history.goForward();
    

    9.前进或回退(go)

    this.props.history.go(-2);//回退到前2条的路由
    

    在一般组件中使用编程式路由导航(费路由组件)

    import {withRouter} from 'react-router-dom'
    
    class Header extends Component {
    // withRouter(Header)后,就可以在一般组件内部使用 this.props.history
    }
    
    export default withRouter(Header)
    

    V6版本

    // v6版本编程导航使用useNavigate(以下为引入代码)
    import {useNavigate} from 'react-router-dom';
    export default function A(){
    const navigate = useNavigate();
    }
    

    1.push跳转+携带params参数

    navigate(`/b/childl/${id}/${title}`);
    

    2.push跳转+携带search参数

    navigate(`/b/child2?id${id}&title=${title}`);
    

    3.push跳转+携带state参数

    navigate("/b/child2",{state:{id,title}});
    

    4.replace跳转+携带params参数

    navigate(`/b/childl/${id}/${title}`,{replace:true});
    

    5.replace跳转+携带search参数

    navigate(`/b/child2?id=${id}&title=${title}`,{replace:true});
    

    6.replace跳转+携带state参数

    navigate('/b/child2',{state:{id,title},replace:true})
  • 相关阅读:
    Unity的Hierarchies
    Unity的依赖注入
    lucene.net 查询与添加索引的同步问题[参考]
    强烈推荐SQL Prompt 3.8,并发布SQL Prompt 3.8 ,SQL Refator 的xxx
    ffmpg转换FLV
    Asp.net如何验证TextBox控件只输入数字(五种情况分析)转帖
    jquery 图片轮播
    SQL2005安装经验总结
    ajax对大量数据操作超时
    Adobe Flash Builder 4.7破解方法(绝对可用) 【转】
  • 原文地址:https://www.cnblogs.com/huayang1995/p/15767670.html
Copyright © 2011-2022 走看看