您的当前位置:首页正文

在React中使用react-router-dom路由

2020-07-13 来源:易榕旅网
在React中使⽤react-router-dom路由

在a标签下⾯添加⼀个按钮并加上onClick事件,通过this.props.history.push这个函数跳转到detail页⾯。在路由组件中加⼊的代码就是将history这个对象注册到组件的props中去,然后就可以在⼦组件中通过props调⽤history的push⽅法跳转页⾯。

很多场景下,我们还需要在页⾯跳转的同时传递参数,在react-router-dom中,同样提供了两种⽅式进⾏传参。

此外还可以通过push函数隐式传参。修改home.js代码如下:

在detail.js中,就可以使⽤this.props.history.location.state获取home传过来的参数:

componentDidMount() {

//console.log(this.props.match.params); console.log(this.props.history.location.state);}

跳转后打开控制台可以看到参数被打印:

有些场景下,重复使⽤push或a标签跳转会产⽣死循环,为了避免这种情况出现,react-router-dom提供了replace。在可能会出现死循环的地⽅使⽤replace来跳转:

this.props.history.replace('/detail');

场景中需要返回上级页⾯的时候使⽤:

this.props.history.goBack();

因篇幅问题不能全部显示,请点此查看更多更全内容