重学前端 - react 项目第一节:创建react 项目

  • 简介:之前一直使用的都是 vue 全家桶开发项目,现在在新的项目上开始使用react开发。

    现在开始在重新学习一下 react 相关技术。

    本项目使用:

    • react 18.1.0
    • react-router-dom 6.3.0 管理路由
    • redux 全局状态管理
    • typescript 加强
    • Ant Design 4.20.4 全局 UI
    • axios 网络请求

      下面开始我们学习 react

创建项目

// 跟着控制提示选择自己项目配置项
npx create-react-app <项目名称>

目录结构

├── public
└── src
├── App.css
├── App.js
├── App.test.js
├── components // 公共组件
├── index.css
├── index.js
├── logo.svg
├── reportWebVitals.js
├── route // 自己新建 route 管理文件夹 方便后续对路由进行统一管理
├── setupTests.js
└── views // 页面

开始运行项目

// 进入新建好的项目
cd <新建的项目名称>
// 开始命令
npm start
// 会直接打开默认浏览器,或者访问http://localhost:3000 就会开间 react logo

配置路由

npm install react-router-dom

页面添加路由配置

  • 新建 Home.jsx/Home/index.jsx 文件
import * as React from "react";

class Home extends React.Component{
constructor(porps) {
super(porps);
this.state = {
message: '首页'
}
} render() {
return <div>{this.state.message}</div>;
}
} export default Home;
  • 新建 Login 登陆页面
import React from "react";

class Login extends React.Component{
render() {
return (
<div> 登陆 </div>
)
}
} export default Login;
  • 编辑 App.js
import './App.css';
import {BrowserRouter, Routes, Route} from "react-router-dom";
import Home from "../views/Home";
import Login from "../views/Login"; function App() {
return (
<BrowserRouter>
<Routes>
<Route path={'/'} element={<Home/>} />
<Route path={'/login'} element={<Login/>}/>
</Routes>
</BrowserRouter>
);
} export default App;

下一节 配置 typescript + scss

关注公众号: 影的记忆 同步更新

重学前端 - react 项目第一节:创建react 项目的更多相关文章

  1. 重学前端 --- Promise里的代码为什么比setTimeout先执行?

    首先通过一段代码进入讨论的主题 var r = new Promise(function(resolve, reject){ console.log("a"); resolve() ...

  2. 第一章 创建WEB项目

    第一章   创建WEB项目 一.Eclipse创建WEB项目 方法/步骤1 首先,你要先打开Eclipse软件,打开后在工具栏依次点击[File]>>>[New]>>&g ...

  3. 重学前端--js是面向对象还是基于对象?

    重学前端-面向对象 跟着winter老师一起,重新认识前端的知识框架 js面向对象或基于对象编程 以前感觉这两个在本质上没有什么区别,面向对象和基于对象都是对一个抽象的对象拥有一系列的行为和状态,本质 ...

  4. 利用 Create React Native App 快速创建 React Native 应用

    本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...

  5. 【重学Node.js 第5篇】部署项目到腾讯云服务器

    课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://github.com/hellozhangran ...

  6. [Vue音乐项目] 第一节 环境搭建

    1.Node安装 登录官网,下载最新版本并安装: 在我的电脑内,执行以下操作:右键->属性->高级->环境变量->系统变量->path 查看是否有node的安装路径,没有 ...

  7. 重学JAVA基础(四):线程的创建与执行

    1.继承Thread public class TestThread extends Thread{ public void run(){ System.out.println(Thread.curr ...

  8. idea:spring initializr无web勾选,maven方式搭建springboot项目。jdk7创建springboot项目的版本不兼容问题。

    一.idea 使用spring initializr不选择web搭建springboot项目 1.file => new => project 2.直接next到finish结束. 3.完 ...

  9. 【OF框架】使用OF框架创建应用项目

    开始:准备工作 开发环境已经安装Visual Studio,包含Web开发负载.Python开发负载.NodeJs开发负载 开发环境已经安装Visual Studio Code 开发环境已经安装Nod ...

  10. tfs中如何创建团队项目及如何操作团队项目

    创建团队项目集合 tfs server管理控制台\团队项目集合页面.选择'创建集合'链接,按向导即可创建项目集合. 创建团队项目 创建好团队项目集合后,就要开始创建团队项目了. 进入vs,连接上tfs ...

随机推荐

  1. [Mobi] Android Studio NDK 安装

    通过 SDK Manager - SDK Tools 中勾选 NDK 进行安装. 注意,下载来源是 dl.google.com,请准备好能连接到国际互联网. 下载完成后在 sdk 工具里面可以看到 n ...

  2. Oracle "脑残" CBO 优化案例

    今天晚上下班回来才有空看群,群友发了一条很简单的慢SQL问怎么优化. 非常简单,我自己模拟的数据. 表结构: -- auto-generated definition CREATE TABLE HHH ...

  3. 011_元件封装FootPrint处理

    011_元件封装FootPrint处理 原理图的引脚与PCB的引脚数量一一对应,IC的PCB Foot Print属性添加好属性,后面就不用一个个添加了.

  4. Maven的核心解压与配置

    ​ Maven的核心解压与配置 @ 目录 Maven的核心解压与配置 1. Maven 官网地址 2. 解压Maven核心程序 3. 指定本地仓库 4. 配置阿里云提供的镜像仓库 5. 配置 Mave ...

  5. Solution Set - Splay

    A[洛谷P3369]维护集合,支持插入,删除,查询\(x\)的排名,查询排名\(x\)的数,查询前驱,查询后继. B[洛谷P3391]维护一个序列,支持区间翻转. C[洛谷P3380]维护数列,支持单 ...

  6. 纯JavaScript制作动态增加的网页数字

    看到别的网页上打开,会显示一个动态的数字,感觉这个效果增加了网页的灵动感.就尝试着写代码,最终实现的方法: 会从0增加到一个数值,实现的代码: <!-- html 部分 --> <d ...

  7. Oracle中ALTER TABLE的五种用法(一)

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...

  8. DP-Modeler三维修模软件简介

    图像快速建模系统DP-Modeler是天际航自主研发的一款集精细化单体建模及Mesh网格模型修饰于一体的新型软件.通过特有的摄影测量算法,支持航测摄影.无人机影像.地面影像.车载影像.激光点云等多数据 ...

  9. jeecg-boot中分页接口用自定义sql和实体实现

    1.controller实现 @RequestMapping(value = "/list", method = RequestMethod.GET) public Result& ...

  10. 用 C 语言开发一门编程语言 — 基于 Lambda 表达式的函数设计

    目录 文章目录 目录 前文列表 函数 Lambda 表达式 函数设计 函数的存储 实现 Lambda 函数 函数的运行环境 函数调用 可变长的函数参数 源代码 前文列表 <用 C 语言开发一门编 ...