重学前端 - 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. [Contract] 一次搞懂 Solidity 的 using xx for xx

    using A for *;    # 把 A 的函数附给任意类型使用 using A for B; # 意思是把 A 中的方法附给 B 使用 使用上面的方式,那么在我们的合约中定义了 B 类型的变量 ...

  2. WPF 已知问题 清空 CollectionView 的 SortDescriptions 可能抛出空异常

    本文记录一个 WPF 的已知问题,在通过 CollectionViewSource 获取到 CollectionView 之后,如果 CollectionViewSource 对象已被 GC 回收,将 ...

  3. 阿里云边缘容器云帮助AI推理应用快速落地

    近日,阿里云技术专家徐若晨在全球分布式云大会上,分享了<边缘容器云助力AI推理高效落地>的主题演讲,分享了阿里云边缘容器云如何助力开发者实现更快速的AI推理应用的迭代和部署.此外,他还分享 ...

  4. Data Lake_理解数据湖

    Pentaho首席技术官James Dixon创造了"数据湖"一词.它把数据集市描述成一瓶水(清洗过的,包装过的和结构化易于使用的).而数据湖更像是在自然状态下的水,数据流从源系统 ...

  5. ITIL4服务价值系统(SVS)与莫比乌斯环:无限服务优化的拓扑之旅

    莫比乌斯环:单一而无限的象征 莫比乌斯环,这个拓扑学上的奇观,以其独特的一体两面特性,完美地映射了ITIL4服务价值系统的精髓.它象征着无限.统一和连续性,提示我们看待事物时应超越传统二元对立的视角, ...

  6. .NET 缓存:内存缓存 IMemoryCache、分布式缓存 IDistributedCache(Redis)

    .NET缓存里分了几类,主要学习内存缓存.分布式缓存 一.内存缓存 IMemoryCache 1.Program注入缓存 builder.Services.AddMemoryCache(); 2.相关 ...

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

    1.controller中 @ApiOperation(value="分析仪工作状态和报警-3列-分页", notes="分析仪工作状态和报警状态-分页") @ ...

  8. 策略梯度玩 cartpole 游戏,强化学习代替PID算法控制平衡杆

    cartpole游戏,车上顶着一个自由摆动的杆子,实现杆子的平衡,杆子每次倒向一端车就开始移动让杆子保持动态直立的状态,策略函数使用一个两层的简单神经网络,输入状态有4个,车位置,车速度,杆角度,杆速 ...

  9. web3.js:使用eth包

    原文在这里 简介 web3-eth包提供了一套强大的功能,可以与以太坊区块链和智能合约进行交互.在本教程中,我们将指导您如何使用web3.js版本4的web3-eth包的基础知识.我们将在整个示例中使 ...

  10. 热更学习笔记--toLau中lua脚本对C#中枚举和数组的访问

    [8]Lua脚本调用C#中的枚举学习 --调用枚举类型 print("----------------------toLua中调用C#中枚举类型----------------------- ...