如何使用react框架进行两个html页面的切换?

news2024/10/5 17:21:40

如何使用react框架进行两个html页面的切换?

  • 项目背景
  • 首先是古老的做法
    • login.html
    • index.html
  • 正文->react框架如何设置两个页面的跳转?
    • 配置react框架的环境
    • react框架如何实现两个页面的跳转?

项目背景

古老的html页面跳转的做法无法在react框架中直接适配,所以非常有必要从新开始学习一下react框架是如何进行两个页面的跳转的.

首先是古老的做法

先温习一下

login.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>登录页面</title>
    <style>
        body {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
            background-image: url('./src/picture/2.png');
            /* 替换为你的图片路径 */
            background-size: cover;
            /* 背景图片覆盖整个页面 */
        }

        .login-container {
            text-align: center;
            background: rgba(255, 255, 255, 0.8);
            /* 半透明白色背景 */
            padding: 20px;
            border-radius: 10px;
        }

        .form-row {
            margin-bottom: 10px;
        }

        label,
        input {
            display: inline-block;
            vertical-align: middle;
            margin: 5px 0;
        }

        label {
            width: 80px;
        }

        input {
            width: 200px;
        }
    </style>
    <script>
        function checkLogin() {
            var username = document.getElementById("username").value;
            var password = document.getElementById("password").value;
            if (username === "我是用户名(用户名填这里)" && password === "我是密码(密码填这里)") {
                window.location.href = "index.html";
            } else {
                alert("用户名或密码不正确,请重试。");
            }
        }
    </script>
</head>

<body>
    <div class="login-container">
        <h1>登录前的页面</h1>
        <form>
            <div class="form-row">
                <label for="username">用户名:</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div class="form-row">
                <label for="password">密码:</label>
                <input type="password" id="password" name="password" required>
            </div>
            <button type="button" onclick="checkLogin()">登录</button>
        </form>
    </div>
</body>

</html>

下面这里很重要,只要用户名和密码都对了,就直接跳转了!!!

if (username === "我是用户名(用户名填这里)" && password === "我是密码(密码填这里)") {
    window.location.href = "index.html";
} else {
    alert("用户名或密码不正确,请重试。");
}

index.html

<!doctype html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <link rel="icon" type="image/svg+xml" href="/vite.svg" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>登录后的界面</title>

  <style>
    body {
      margin: 0;
      overflow: hidden;
    }



    #myButton {
      position: absolute;
      top: 10px;
      left: 10px;
      z-index: 1;
    }

    #myButton2 {
      position: absolute;
      top: 10px;
      left: 80px;
      z-index: 1;
    }

    #myButton3 {
      position: absolute;
      top: 10px;
      left: 160px;
      z-index: 1;
    }

    #myButton4 {
      position: absolute;
      top: 80px;
      left: 10px;
      z-index: 1;
    }


    #demo-simple-select-label {
      position: absolute;
      top: 50px;
      z-index: 1;
    }

    #demo-simple-select {
      position: absolute;
      top: 50px;
      left: 40px;
      z-index: 1;
    }



    /* 可以在这里定义 CSS 样式,也可以使用内联样式,下面这个是文本 */
    #highlighted-text0 {
      position: absolute;
      top: 30px;
      /* 设置文本颜色为红色 */
      color: red;
      /* 设置字体大小 */
      font-size: 24px;
      /* 设置字体加粗 */
      font-weight: bold;
      /*位于顶部*/
      z-index: 999;
      /*左移*/
      left: 430px;
    }

    #highlighted-text1 {
      position: absolute;
      top: 60px;
      /* 设置文本颜色为红色 */
      color: red;
      /* 设置字体大小 */
      font-size: 24px;
      /* 设置字体加粗 */
      font-weight: bold;
      /*位于顶部*/
      z-index: 999;
      /*左移*/
      left: 430px;
    }

    /* 隐藏下拉框内容 */
    .dropdown-content {
      position: absolute;
      display: none;
      position: absolute;
      background-color: #f9f9f9;
      min-width: 160px;
      box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
      z-index: 1;
    }

    /* 下拉框按钮样式 */
    .dropdown button {
      top: 60px;
      position: absolute;
      z-index: 1;
      padding: 10px;
      font-size: 16px;
    }

    /* 下拉框选项样式 */
    .dropdown-content a {
      position: absolute;
      z-index: 1;
      display: block;
      padding: 12px 16px;
      text-decoration: none;
      color: #333;
    }

    /* 鼠标悬停时改变选项背景颜色 */
    .dropdown-content a:hover {
      position: absolute;
      z-index: 1;
      background-color: #ddd;
    }

    #mySelector {
      position: absolute;
      top: 40px;
      left: 10px;
      z-index: 1;
    }

    /* 自定义选择器的样式 */
    .custom-select {
      padding: 5px;
      /* 调整选择器的内边距以容纳图标 */
    }
  </style>


</head>

<body>
  <select id="mySelector" class="custom-select">
    <option value="option0">Please select the attachment</option>
    <option value="option1">附件 1</option>
    <option value="option2">附件 2</option>
    <option value="option3">附件 3</option>
    <option value="option4">附件 4</option>
    <option value="option5">附件 5</option>
    <option value="option6">附件 6(待添加)</option>
    <option value="option7">附件 7(待添加)</option>
    <option value="option8">附件 8(待添加)</option>
    <option value="option9">附件 9(待添加)</option>
    <option value="option10">附件 10(待添加)</option>
    <option value="option11">附件 11(待添加)</option>
    <option value="option12">附件 12(待添加)</option>
    <option value="option13">附件 13(待添加)</option>
    <option value="option100">瑶瑶领先的mate100!</option>
  </select>

  <button id="myButton">一键复原</button>
  <button id="myButton2">Un Check</button>
  <button id="myButton3">Copmpare</button>
  <button id="myButton4">Dental arch line</button>

  <div id="highlighted-text0">请耐心等待...</div>

  <div id="root"></div>
  <script type="module" src="/src/main.jsx"></script>

</body>

</html>

正文->react框架如何设置两个页面的跳转?

配置react框架的环境

(其实之前一直想写一篇如何配置react框架+three.js的环境的文章,但是想想自己大概率不会做太长时间的前端吧,后来就没写,没想到从12月1号一直到了第二年的1月26号)
其实配置react框架+three.js的环境非常简单,下面跟上步伐一起配置:

    1. 创建一个你自己的文件夹(方便管理),名字你随便起,我就叫react-test-three了
mkdir react-test-three
cd react-test-three
    1. npm init vite@latest
      然后你按照下面的图片进行选择:
      在这里插入图片描述
      在这里插入图片描述
  • 3.进入项目文件夹
    在这里插入图片描述
    执行以下ls,你就可以看到你的项目文件夹了,然后
    在这里插入图片描述
    1. 初始化项目,请依次执行
npm install
npm install three
npm run dev

至此,react框架+three.js就配置好了!!!
在这里插入图片描述
非常nice! 难道不是吗?说实话,偶尔搞搞前端还真不错!

react框架如何实现两个页面的跳转?

待补充…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1412413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis 实际项目中的整合,记录各种用法

Redis缓存餐厅数据 我们来看主要的流程 很简单,就是在数据库和接口之间加了一层缓冲,在redis之前其实还可以加其他的缓存 例如 nginx的缓存 接下来,就是结合我的业务,来做缓存 我这里的业务逻辑是,按了分类的按钮,分别以不同的 分类为一组缓存数据 所以,这里的缓存粒度是分类…

【JSON2WEB】02 JSON2WEB初步UI设计

JSON2WEB的UI初步设计&#xff0c;包括草图、登录、主页、导航树JSON2TREEE组件、表格JSON2GRID组件、表单JSON2FORM组件等。 1草图 表单作为抽屉从右边拉出。LOGO行和导航树为固定区域&#xff0c;导航树可以折叠。 2 登录页 找回账号&#xff1a;可以给邮箱&#xff08;找…

【Linux install】详细的Ubuntu和win双系统安装指南

文章目录 1.前期准备1.1 制作启动盘1.2关闭快速启动、安全启动、bitlocker1.2.1 原因1.2.2 进入BIOSshell命令行进入BIOSwindows设置中高级启动在开机时狂按某个键进入BIOS 1.2.3 关闭Fast boot和Secure boot 1.3 划分磁盘空间1.3.1 查看目前的虚拟内存大小 2.开始安装2.1 使用…

微信小程序(十五)自定义导航栏

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.组件文件夹创建方法 2.自定义组件的配置方法 3.外部修改组件样式&#xff08;关闭样式隔离或传参&#xff09; 创建组件文件夹 如果是手动创建建议注意在json文件声明&#xff1a; mynav.json {//声明为组件可…

git安装步骤

安装环境&#xff1a;Windows10 64bit 下载 Git网址 &#xff1a;Git - Downloading Package 版本&#xff1a;Git-2.21.0-64-bit 第一步&#xff1a;双击下载后的Git-2.21.0-64-bit.exe&#xff0c;开始安装 安装开始 第二步&#xff1a;选择安装路径&#xff0c;点击[next]…

8-小程序数据promise化、共享、分包

小程序API Promise化 wx.requet 官网入口 默认情况下&#xff0c;小程序官方异步API都是基于回调函数实现的 wx.request({method: , url: , data: {},header: {content-type: application/json // 默认值},success (res) {console.log(res.data)},fail () {},complete () { }…

CentOS7服务器的安装配置连接客户端Xshell进行使用

目录 一. CentOS7的安装【在虚拟机中】 二. 查看设置IP地址 三. 安装并连接客户端软件Xshell 3.1 安装Xshell 3.2 xshell连接centos7服务器 四. 切换国内源 一. CentOS7的安装【在虚拟机中】 首先创建一个虚拟机&#xff0c; 这个没什么好说的&#xff0c;基本上都是下…

Sketch怎么增加组件?

Sketch怎么增加组件&#xff1f;Sketch组件库经常使用&#xff0c;想要添加一些新的组件&#xff0c;该怎么添加呢&#xff1f;下面我们就来看看Sketch组件库添加新组建的技巧&#xff0c;详细请看下文介绍 打开电脑&#xff0c;找到sketch软件的图标&#xff0c;点击进入 新建…

【GitHub项目推荐--React 组件库】【转载】

这个 9.9k Star 的开源项目是一个 React 组件库帮助你更快速的构建 Web 应用&#xff0c;包含 120 可定制组件和 Hook&#xff0c;支持暗黑主题。 开源地址&#xff1a;https://github.com/mantinedev/mantine

25考研每日的时间安排

今天要给大家分享一下25考研每日的时间安排。 没有完美的计划&#xff0c;只有合适的计划。 仅供参考 很多人说复习不要只看时长而是要看效率&#xff0c;所以学多长时间不重要&#xff0c;重要的高效率完成任务。 完美的计划 这个计划看起来很完美&#xff0c;从早到晚有学习…

前端优化之代码压缩gzip

这里的代码压缩不是指的vite当中的build.minify的那个选项&#xff0c;而是指的是gzip这样的压缩方式。前者指的是格式上的压缩&#xff0c;也就是把src代码之中的空格、格式之类的全部去除掉。后者指的则是服务器对代码的一种压缩方式。 一、简要说一说服务器端对代码的压缩 …

使用Go语言编写自定义的HTTP代理:探险网络奇幻之旅

你是否曾经想过自己也能编写一个代理服务器&#xff0c;掌握网络冲浪的主动权&#xff1f;现在&#xff0c;有了Go语言&#xff0c;这个梦想不再遥不可及&#xff01;让我们一起踏上这段探险之旅&#xff0c;用Go语言编写一个自定义的HTTP代理&#xff0c;开启网络奇幻之旅&…

两个角度解决msvcr120.dll丢失的问题,修复msvcr120.dll丢失

msvcr120.dll 是 Microsoft Visual Studio 2013 的一部分&#xff0c;它属于 Visual C Redistributable Packages 的一个组件。在使用电脑的过程中是否遇到过msvcr120.dll 丢失的情况&#xff0c;约到这样的问题&#xff0c;大家是怎么解决的&#xff1f;今天教大家从两个角度去…

【操作系统】实验九 写一个设备驱动程序

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

etcd未授权到控制k8s集群

在安装完 K8s 后&#xff0c;默认会安装 etcd 组件&#xff0c;etcd 是一个高可用的 key-value 数据库&#xff0c;它为 k8s 集群提供底层数据存储&#xff0c;保存了整个集群的状态。大多数情形下&#xff0c;数据库中的内容没有加密&#xff0c;因此如果黑客拿下 etcd&#x…

数字地球开放平台农作物长势监测解决方案

数字地球开放平台农作物长势监测解决方案 利用遥感技术进行产量预测是一种高效而准确的方法&#xff0c;通过监测植被的生长状况、土地利用、气象等因素&#xff0c;可以为农业决策提供有力支持。数字地球开放平台拥有200颗卫星&#xff0c;为您提供一站式卫星遥感服务。 农情监…

Java工程师的你,真的不想了解一下《Java内存区域详解》吗?(重点)

Java工程师的你&#xff0c;真的不想了解一下《Java内存区域详解》吗&#xff1f;&#xff08;重点&#xff09; 文章目录 Java工程师的你&#xff0c;真的不想了解一下《Java内存区域详解》吗&#xff1f;&#xff08;重点&#xff09;前言运行时数据区域程序计数器Java 虚拟机…

【Unity3D日常开发】Unity3D中设置Text行首不出现标点符号

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中会遇到Text的文本内容行首出现标点符号的情况&#xf…

智云影院CMS程序PHP源码, 无需数据库,附带搭建教程

源码介绍 本程序无需数据库&#xff0c;直接上传源码即可访问&#xff0c;&#xff08;服务器或虚拟主机空间&#xff09;都可以搭建使用&#xff01;模板自适应端&#xff0c;浏览体验更佳&#xff01;安装操作简单&#xff01;无需繁琐的操作&#xff0c;即可快速拥有一个视…

HCIA学习作业二

要求&#xff1a;基于192.168.1.0/24进行合理划分&#xff0c;要求全网通 [AR3]display ip interface brief [AR3]display ip routing-table [AR1]display ip interface brief [AR1]display ip routing-table [AR2]display ip interface brief [AR2]display ip routing-tab…