当前位置: 首页 > article >正文

React(一)—— router/useRef/useState


文章目录

  • 项目地址
  • 一、构建项目
    • 1.1 使用vite构建项目
    • 1.2 所需插件
  • 二、Router
    • 2.1 安装router
    • 2.2 创建路由规则
    • 2.3 创建导航栏
      • 2.3.1 添加样式文件
      • 2.3.2 添加导航栏组件
      • 2.3.3 给每个页面添加Menu导航栏
    • 2.4 通过路由给页面传值
  • 三、Hooks
    • 3.1 useRef
      • 3.2 useRef操作DOM元素
      • 3.3 useRef进行数据缓存
    • 3.2 useState
      • 3.2.1 简单的待办事项
      • 3.2.2 表单提交
    • 3.2 useEffect


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、构建项目

1.1 使用vite构建项目

  1. 创建react程序
npm create vite 
  1. 进入到项目内部,安装npm
npm  install
  1. 启动项目dev环境
npm run dev

1.2 所需插件

在这里插入图片描述

二、Router

2.1 安装router

  • 安装node 18对应的Router
npm install react-router@6

安装成功后package.json会出现

  "dependencies": {
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-router-dom": "^6.28.1"
  },

2.2 创建路由规则

  • App.jsx里创建路由规则,实现功能:
    1. 输入栏里输入地址,跳转到指定的Page里
    2. 当输入有误时,跳转到NotFoundPage里
import React from "react";
import {
    BrowserRouter, Route, Routes } from "react-router-dom";
import HomePage from "./pages/HomePage";
import AboutPage from "./pages/AboutPage";
import ContactPage from "./pages/ContactPage";
import NotFoundPage from "./pages/NotFoundPage";

function App() {
   
  return (
    <div>
      <BrowserRouter>
        <Routes>
          <Route path="/" element={
   <HomePage></HomePage>} />
          <Route path="/about" element={
   <AboutPage />} />
          <Route path="/contact" element={
   <ContactPage />} />
          <Route path="*" element={
   <NotFoundPage />} />
        </Routes>
      </BrowserRouter>
    </div>
  );
}

export default App;

2.3 创建导航栏

  • 创建导航栏,实现功能有:
    1. 点击页面里的导航栏,实现不跳转到其他页面
    2. 给点击过的导航栏,添加一个绿色的样式

2.3.1 添加样式文件

  • src/assets/css/style.css添加导航栏点击后的样式
.active-item {
   
  color: green;
}

.passive-item {
   
  color: red;
}

2.3.2 添加导航栏组件

  • 添加导航栏组件,src/component/Menu.jsx

在这里插入图片描述

2.3.3 给每个页面添加Menu导航栏

  • 给每个使用到Menu导航组件的页面里添加该组件

在这里插入图片描述

2.4 通过路由给页面传值

  1. 在路由里添加参数名称

在这里插入图片描述
2. About页面接收路由传递的参数,并且将参数使用在页面里

import React from "react";
import Menu from "../component/Menu";
import {
    useParams } from "react-router-dom";

export default AboutPage() {
   
  let {
    id, name } = useParams();
  return (
    <div>
      <Menu />
      <h1>AboutPage</h1>
      <p>

http://www.kler.cn/a/456951.html

相关文章:

  • python使用PyQt5,整套,桌面应用
  • RabbitMQ中的异步Confirm模式:提升消息可靠性的利器
  • 从0开始的opencv之旅(1)cv::Mat的使用
  • 12.30 linux 文件操作,磁盘分区挂载
  • 安装软件尝试
  • 精准识别花生豆:基于EfficientNetB0的深度学习检测与分类项目
  • 地理数据库Telepg面试内容整理-如何解决大规模地理数据导入时出现的性能瓶颈
  • 灾备方案和架构类型、跨区域
  • hive中的四种排序类型
  • SVN和Git
  • Day1 微服务 单体架构、微服务架构、微服务拆分、服务远程调用、服务注册和发现Nacos、OpenFeign
  • 代码解析:安卓VHAL的AIDL参考实现
  • Android 自定义shell命令
  • 4.银河麒麟V10(ARM) 离线安装 MySQL
  • 在线学习平台-项目技术点-前台
  • Mono里运行C#脚本6—mono加载EXE文件和DLL文件保存的HASH表
  • PPO(近端策略优化)算法基本原理
  • 跨境办公的网络如何选择?
  • [Rust开发]actix_webmiddleware 中间件
  • CSS系列(42)-- Backdrop Filter详解
  • 基于深度学习的图像超分辨率重建
  • LeetCode 349. 两个数组的交集 (C++实现)
  • nginx反向代理单台 Web 服务器实验
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验五----土地整治(超超超详细!!!)
  • elasticsearch 杂记
  • Android `android.graphics` 包深度解析:架构与设计模式