组件中,如何实现编程式导航?
时间: 2023-05-27 17:02:12 浏览: 91
Vue3.0 声明式导航,编程式导航,路由,路由拦截案例
实现编程式导航需要使用 `react-router-dom` 库中提供的 `history` 对象或者 `useHistory` 钩子函数。
使用 `history` 对象的方式,首先需要在组件中引入 `import { useHistory } from 'react-router-dom';`,然后在函数组件中调用 `useHistory()` 方法获取 `history` 对象,然后就可以使用 `push()` 方法进行编程式导航跳转了。
示例代码如下:
```javascript
import React from 'react';
import { useHistory } from 'react-router-dom';
function Home() {
const history = useHistory();
const handleClick = () => {
history.push('/about');
};
return (
<div>
<h1>Home Page</h1>
<button onClick={handleClick}>Go to About Page</button>
</div>
);
}
export default Home;
```
另外,使用 `useHistory` 钩子函数的方式也可以实现编程式导航,代码如下:
```javascript
import React from 'react';
import { useHistory } from 'react-router-dom';
function Home() {
const history = useHistory();
const handleClick = () => {
history.push('/about');
};
return (
<div>
<h1>Home Page</h1>
<button onClick={handleClick}>Go to About Page</button>
</div>
);
}
export default Home;
```
以上两种方式都是有效的,可以根据实际情况进行选择。
阅读全文