react histroy.push 路由跳转传参
时间: 2023-09-03 21:11:02 浏览: 168
在React中,也可以通过React Router实现路由跳转,并且可以通过`history.push`方法进行传参。具体实现如下:
```javascript
import { useHistory } from 'react-router-dom';
function Example() {
const history = useHistory();
function handleClick() {
history.push('/destination', { foo: 'bar' });
}
return (
<button type="button" onClick={handleClick}>
Go to destination
</button>
);
}
```
其中,`useHistory`是一个React Router提供的Hook函数,用于获取`history`对象。在`handleClick`函数中,通过`history.push`方法进行路由跳转,第一个参数表示目标路由的路径,第二个参数表示传递的参数,它们都是一个对象。在目标路由中可以通过`location.state`来获取传递的参数,例如:
```javascript
console.log(location.state.foo) // 'bar'
```
需要注意的是,使用`history.push`方法进行路由跳转时,会向浏览器的历史记录中添加一个新的记录,因此用户可以通过浏览器的后退按钮返回到上一个页面。如果不需要添加历史记录,可以使用`history.replace`方法进行路由跳转。
阅读全文