React 开发一个移动端项目(2)

配置基础路由

目标:配置登录页面的路由并显示在页面中

步骤:

  1. 安装路由:

yarn add react-router-dom@5.3.0

@5 和 @6 两个版本对组件类型的兼容性和函数组件支持有所改变,在这里使用的是 @5。

和路由的类型声明文件

yarn add @types/react-router-dom -D

使用 -D 标志将其添加为开发依赖项,这意味着它只会在开发过程中使用,而不会包含在最终的生产构建中。

  1. 在 pages 目录中创建两个文件夹:Login、Layout
  1. 分别在两个目录中创建 index.tsx 文件,并创建一个简单的组件后导出

src\pages\Layout\index.tsx

js 复制代码
export default function Layout() {
  return <div>布局页面</div>;
}

src\pages\Login\index.tsx

js 复制代码
const Login = () => {
  return <div>登录页面</div>;
};
export default Login;
  1. 在 App 组件中,导入路由组件以及两个页面组件,并配置 Login 和 Layout 的路由规则
js 复制代码
import "./App.scss";
// 导入路由
// as 是ES6中的特性,允许为导入的模块或对象指定新的名称。
import { BrowserRouter as Router, Route } from "react-router-dom";

// 导入页面组件
import Layout from "./pages/Layout";
import Login from "./pages/Login";

// 配置路由规则
function App() {
  return (
    <Route>
      <div className="app">
        <Route path="/home">
          <Layout></Layout>
        </Route>
        <Route path="/login">
          <Login></Login>
        </Route>
      </div>
    </Route>
  );
}

export default App;

默认展示首页内容

目标:能够在打开页面时就展示首页内容

分析说明:

匹配默认路由,进行重定向

步骤:

  1. 在 App.tsx 中添加一个新的 Route,用来匹配默认路由

在这里修改了路由的导入

import { Router, Route, Switch, Redirect } from "react-router-dom";

  1. 为 Route 组件添加 render 属性,用来渲染自定义内容

  2. 在 render 中,渲染 Redirect 实现路由重定向



相关推荐
終不似少年遊*3 分钟前
【安全业务Agent】从场景到编排
python·react.js·ai·langchain·agent·安全架构·工作流
Henry-SAP11 分钟前
SAP PP中的核心业务流程——离散制造、重复制造、流程制造三大模式解析
前端·数据库·人工智能·制造
徐小夕17 分钟前
下载量超 30 万的开源智能体 Prime Agent:它把自己从 TypeScript 重写成了 Rust
前端·vue.js·github
Zhao-Jichao22 分钟前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
Moment1 小时前
为什么这么多 Agent Harness 都选择 TypeScript
前端·后端·面试
toooooop81 小时前
CRMEB 故障排查笔记:安全网关只放行 GET/POST 怎么办
前端·javascript·vue.js·thinkphp6·crmeb
软件技术NINI1 小时前
基于SpringBoot和Vue的项目评审系统
javascript·vue.js·spring boot·后端·spring·毕业设计·毕设
涛涛ing1 小时前
我现在最怕的不是 AI 写不出代码,是它写得太快,快到我不好意思说“等一下”
前端
AllData公司负责人1 小时前
【产品便捷使用一】AIIData 数据中台:企业基础版核心能力支持,一站式全链路数据处理实操指南
大数据·前端·数据治理·数据可视化·数据开发·数据服务·数据接入
vipxieliang1 小时前
JavaScript 模板字符串与标签模板:不只是拼接
前端·javascript