重学前端 - react 项目第一节:创建react 项目
重学前端 - 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;
- 配置成功访问 http://localhost:3000 会直接看到页面上显示 Home
或者 http://localhost:3000/login 页面显示 登陆,到此路由配置完成
下一节 配置 typescript + scss
关注公众号: 影的记忆 同步更新
重学前端 - react 项目第一节:创建react 项目的更多相关文章
- 重学前端 --- Promise里的代码为什么比setTimeout先执行?
首先通过一段代码进入讨论的主题 var r = new Promise(function(resolve, reject){ console.log("a"); resolve() ...
- 第一章 创建WEB项目
第一章 创建WEB项目 一.Eclipse创建WEB项目 方法/步骤1 首先,你要先打开Eclipse软件,打开后在工具栏依次点击[File]>>>[New]>>&g ...
- 重学前端--js是面向对象还是基于对象?
重学前端-面向对象 跟着winter老师一起,重新认识前端的知识框架 js面向对象或基于对象编程 以前感觉这两个在本质上没有什么区别,面向对象和基于对象都是对一个抽象的对象拥有一系列的行为和状态,本质 ...
- 利用 Create React Native App 快速创建 React Native 应用
本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...
- 【重学Node.js 第5篇】部署项目到腾讯云服务器
课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://github.com/hellozhangran ...
- [Vue音乐项目] 第一节 环境搭建
1.Node安装 登录官网,下载最新版本并安装: 在我的电脑内,执行以下操作:右键->属性->高级->环境变量->系统变量->path 查看是否有node的安装路径,没有 ...
- 重学JAVA基础(四):线程的创建与执行
1.继承Thread public class TestThread extends Thread{ public void run(){ System.out.println(Thread.curr ...
- idea:spring initializr无web勾选,maven方式搭建springboot项目。jdk7创建springboot项目的版本不兼容问题。
一.idea 使用spring initializr不选择web搭建springboot项目 1.file => new => project 2.直接next到finish结束. 3.完 ...
- 【OF框架】使用OF框架创建应用项目
开始:准备工作 开发环境已经安装Visual Studio,包含Web开发负载.Python开发负载.NodeJs开发负载 开发环境已经安装Visual Studio Code 开发环境已经安装Nod ...
- tfs中如何创建团队项目及如何操作团队项目
创建团队项目集合 tfs server管理控制台\团队项目集合页面.选择'创建集合'链接,按向导即可创建项目集合. 创建团队项目 创建好团队项目集合后,就要开始创建团队项目了. 进入vs,连接上tfs ...
随机推荐
- 【CDS技术揭秘系列 01】阿里云CDS-OSS容灾大揭秘
简介: 本文主要阐述 CDS 产品中 OSS 服务在容灾方面的部署形态以及实现的其本原理. 容灾功能可以保证用户一份数据在多个地方存在冗余备份,当某个机房出现极端异常(比如物理损毁)情况下,数据也不 ...
- Echarts立体地图加3D柱图可点击可高亮选中的开发
注意 echarts请使用v5.1.0以上版本,低版本会无法显示,或者无法触发点击事件. 若有闪屏bug,不要设置temporalSuperSampling属性. 注意图层顺序. 实现原理 借助 ec ...
- 万字长文总结与剖析C语言关键字 -- <<C语言深度解剖>>
C总结与剖析:关键字篇 -- <<C语言深度解剖>> 目录 C总结与剖析:关键字篇 -- <<C语言深度解剖>> 程序的本质:二进制文件 变量 1.变量 ...
- netcore3.1 程序在cento8下运行selenium
我需要在linux下运行selenium抓取数据,本人不熟悉Python,所以只能用netcore.在带linux界面上运行爬取程序,驱动chromedriver比较简单.界面化安装好chrome,下 ...
- Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发
一.写在开头 最近一直在更新<Java成长计划>这个专栏,主要是Java全流程学习的一个记录,目前已经更新到Java并发多线程部分,后续会继续更新:而今天准备开设一个全新的专栏 <E ...
- elementui 时间戳和后台配合
保存时间 思路: 前端传时间戳, 后台表里的时间类型为timestamp, model结构体tag设置为 *time.Time json:"activationTime" gorm ...
- 什么是NASM
什么是NASM NASM是一个汇编器的名称,全称是Netwide Assembler,支持x86与x64架构的CPU(注意不支持ARM架构). 我们知道,在x86和x64架构上有多个操作系统,比较流行 ...
- 鸿蒙stage模型
app.json5全局的配置文件 icon和label是应用列表的 module.json5模块配置文件 中有一个abilities其中的icon和label才是桌面的图标和名称 日志的话就是hail ...
- 让智慧物联赋能高效生产, AIRIOT助力数字化油田转型升级
近年来,中国石油行业为了推进工业化和信息化深度融合,充分结合勘探开发.生产科研和经营管理的实际需求,积极通过信息化建设促进油田业务转型升级.在勘探开发与管理的领域中,油气生产物联网系统是一个极其重 ...
- es命令大全,elasticsearch命令详解
参考链接 Relational DB Elasticsearch 数据库(database) 索引(indices) 表(tables) types 行(rows) documents 字段(colu ...