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})
  • 相关阅读:
    目前游戏行业内部主要几款游戏引擎的技术对比(转)
    Windows平台下为Python添加MongoDB支持PyMongo
    Android_ContentProvider
    Android 手风琴效果实现
    SQLiteOpenHelper与SQLiteDatabase
    sqlite基础语法
    关于Android studio git Authentication failed
    Android 6.0动态权限获取
    Android_数据存储
    Android_CardView
  • 原文地址:https://www.cnblogs.com/huayang1995/p/15767670.html
Copyright © 2011-2022 走看看