当前位置:首页 > React

react实现登录页面跳转

2026-01-27 17:27:19React

React 登录页面跳转实现方法

使用 React Router 进行导航

安装 react-router-dom 包:

npm install react-router-dom

在应用中配置路由:

import { BrowserRouter as Router, Route, Routes, Navigate } from 'react-router-dom';

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/login" element={<LoginPage />} />
        <Route path="/dashboard" element={<Dashboard />} />
      </Routes>
    </Router>
  );
}

登录成功后跳转

在登录组件中使用 useNavigate hook:

react实现登录页面跳转

import { useNavigate } from 'react-router-dom';

function LoginPage() {
  const navigate = useNavigate();

  const handleLogin = () => {
    // 验证逻辑...
    navigate('/dashboard'); // 跳转到仪表盘
  };

  return (
    <button onClick={handleLogin}>登录</button>
  );
}

条件跳转(保护路由)

创建受保护的路由组件:

function ProtectedRoute({ children }) {
  const isAuthenticated = localStorage.getItem('token');

  if (!isAuthenticated) {
    return <Navigate to="/login" replace />;
  }

  return children;
}

// 使用方式
<Route path="/dashboard" element={
  <ProtectedRoute>
    <Dashboard />
  </ProtectedRoute>
} />

带状态的跳转

传递状态到目标页面:

react实现登录页面跳转

navigate('/dashboard', { state: { user: currentUser } });

// 在目标组件中获取
const location = useLocation();
const user = location.state?.user;

编程式导航替代方案

使用 useHistory(v5及以下版本):

import { useHistory } from 'react-router-dom';

function LoginPage() {
  const history = useHistory();

  const handleLogin = () => {
    history.push('/dashboard');
  };
}

登录后重定向回原页面

存储原始访问路径:

// 在拦截未登录访问时
navigate('/login', { state: { from: location.pathname } });

// 登录成功后
const location = useLocation();
const from = location.state?.from || '/dashboard';
navigate(from, { replace: true });

标签: 跳转页面
分享给朋友:

相关文章

vue实现 页面

vue实现 页面

Vue 实现页面的核心方法 创建 Vue 项目 使用 Vue CLI 或 Vite 快速初始化项目。Vue CLI 是官方脚手架工具,适合传统项目;Vite 提供更快的现代构建体验。 npm cr…

vue实现反馈页面

vue实现反馈页面

Vue 实现反馈页面的方法 基础表单结构 使用 Vue 的模板语法构建反馈表单,包含输入框、下拉选择、复选框等基础元素。表单需绑定 v-model 实现数据双向绑定。 <template>…

h5实现登录页面跳转页面跳转页面跳转页面

h5实现登录页面跳转页面跳转页面跳转页面

实现登录页面跳转的方法 在H5中实现登录页面跳转可以通过多种方式完成,以下是一些常见的方法: 使用JavaScript的window.location方法 通过JavaScript的window.l…

h5实现页面跳转

h5实现页面跳转

使用 <a> 标签实现跳转 通过 HTML5 的 <a> 标签实现页面跳转是最基础的方法,适用于静态页面或简单的导航需求。示例代码如下: <a href="target…

react 如何跳转

react 如何跳转

使用 React Router 进行页面跳转 React 应用中通常使用 react-router-dom 库实现页面跳转。以下是几种常见的跳转方式: 安装依赖 npm install rea…

h5实现页面切换

h5实现页面切换

h5实现页面切换的方法 在H5中实现页面切换可以通过多种方式完成,包括使用原生HTML链接、JavaScript动态加载、框架路由等。以下是几种常见的方法: 使用原生HTML的<a>标签…