react如何实现页面跳转
React 页面跳转的实现方法
在 React 中实现页面跳转可以通过多种方式,以下是常见的几种方法:
使用 React Router 的 Link 组件
React Router 是 React 生态中最常用的路由库,Link 组件可以用于声明式导航。

import { Link } from 'react-router-dom';
function App() {
return (
<Link to="/target-page">跳转到目标页面</Link>
);
}
使用 React Router 的 useNavigate Hook
对于函数组件,可以使用 useNavigate Hook 进行编程式导航。
import { useNavigate } from 'react-router-dom';
function MyComponent() {
const navigate = useNavigate();
const handleClick = () => {
navigate('/target-page');
};
return (
<button onClick={handleClick}>跳转</button>
);
}
使用 React Router 的 history API
在类组件中,可以通过 history 对象进行跳转。

import { withRouter } from 'react-router-dom';
class MyComponent extends React.Component {
handleClick = () => {
this.props.history.push('/target-page');
};
render() {
return (
<button onClick={this.handleClick}>跳转</button>
);
}
}
export default withRouter(MyComponent);
使用原生 JavaScript 的 window.location
如果项目中没有使用 React Router,可以直接使用原生 JavaScript 进行页面跳转。
function MyComponent() {
const handleClick = () => {
window.location.href = '/target-page';
};
return (
<button onClick={handleClick}>跳转</button>
);
}
使用 a 标签
对于简单的跳转,可以直接使用 HTML 的 a 标签。
function MyComponent() {
return (
<a href="/target-page">跳转到目标页面</a>
);
}
注意事项
- 使用 React Router 时,确保路由配置正确,
BrowserRouter或HashRouter需要包裹整个应用。 - 编程式导航通常用于表单提交后跳转或条件跳转场景。
- 原生跳转会导致页面刷新,而 React Router 的跳转是单页应用的无刷新跳转。
选择哪种方法取决于项目需求和架构。对于单页应用(SPA),推荐使用 React Router;对于多页应用(MPA),可能需要使用原生方法。






