创建一个react项目

news/2024/11/28 2:41:15/

文章目录

      • 1:命令行输入
      • 2:在vs的终端中输入npm start 来启动项目
      • 3:删除src目录中的干扰项
      • 4:去掉index.js中的严格模式节点
      • JSX介绍
      • JSX中使用js表达式
      • 原生js调用
      • 三元运算符
      • 列表渲染
      • 条件渲染
        • 三元表达式
        • 逻辑&&运算
      • 分支逻辑
      • 类名样式
        • 导入外部css文件
        • 动态控制active类名
      • JSX注意事项
      • yarn启动项目

1:命令行输入

sheep-react为项目名

npx create-react-app sheep-react

2:在vs的终端中输入npm start 来启动项目

3:删除src目录中的干扰项

App.test.js、reportWebVitals.js、setupTests.js、logo.svg

image-20230218142913001

React:框架的核心包

ReactDOM:专门做渲染的包

import ‘./index.css’:应用的全局样式文件

import App from ‘./App’:引入根组件

4:去掉index.js中的严格模式节点

<React.StrictMode>

5:删除文件对应的导入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MWdFoCvp-1683198794962)(null)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vjFYgEFW-1683198794808)(null)]

JSX介绍

JSX是JavaScript XML(HTML)的缩写,表示在JS代码中书写HTML结构

作用:在React中创建HTML结构(页面UI结构)

优势

1:采用类似于HTML的语法,降低学习成本,会HTML就会JSX

2:充分利用JS自身的可编程能力创建HTML结构

JSX中使用js表达式

const name='sheep'
<h1>你好,我叫{name}</h1>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QezNUwnP-1683198791916)(null)]

原生js调用

const getAge =() =>{return "这是js函数的写法"
}
{getAge()}

image-20230218150952434

三元运算符

const flag = true;
{flag ? '66666':'99999'}

列表渲染

const songs =[{id:1,name:'sheep'},{id:2,name:'botany'},{id:3,name:'sheepbotany'}
]
function App () {return(<div className='App'><ul>{songs.map(item => <li>{item.name}</li>)}</ul></div>)
}

如果想渲染指定的列表

songs.map(item => <li key={item.id}>{item.name}</li>)

map重复渲染的是哪个模板,就会return谁

需要注意遍历列表时同样需要一个类型为number/string不可重复的key来提高diff的性能

条件渲染

比如经常使用的loading和加载成功

三元表达式

function App () {return(<div className='App'>{flag ? 'loading...正在加载':'加载完成'}{flag ? '内容显示中,请稍后':null}</div>)
}

逻辑&&运算

{true && <span>逻辑与运算显示内容</span>}

分支逻辑

const getHag=(type)=>{if(type ===1){return <h1>this is h1</h1>}if(type ===2){return <h2>this is h2</h2>}if(type ===3){return <h3>this is h2</h3>}
}function App () {return(<div className='App'>{getHag(1)}</div>)
}

类名样式

function App () {return(<div className='App'><span style={{color:'red',fontSize:'30px'}}>this is span</span></div>)
}

或者

const style ={color:'red',fontSize:'30px'
}function App () {return(<div className='App'><span style={style}>this is span</span></div>)
}

导入外部css文件

.active{color: blue
}

image-20230220191409238

import './active.css';function App () {return(<span className='active'>测试类名样式</span></div>)
}

动态控制active类名

const activeFlag =true
function App () {return(<div className='App'><span className={activeFlag?'active':''}>测试类名样式</span></div>)
}

JSX注意事项

直接上传(img-C9jDOunj-1683198794916)(null)]

git克隆文件

在cmd中输入

git clone https://gitee.com/react-cp/react-pc-code

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvKU0j5N-1683198794871)(null)]

yarn启动项目

yarn start

http://www.ppmy.cn/news/61841.html

相关文章

消息队列 (Message Queue)

消息队列 What 消息队列 是消息的队列&#xff1b;是消息的临时缓冲&#xff1b;是发布/订阅模式的兄弟&#xff1b;在多个进程/线程间实现异步通讯模式。 Why 消息队列在多个进程/线程中实现了异步通讯模式。 这里我们先介绍下同步消息处理。对于同步消息处理&#xff0…

第七章集合与字典作业

目录 1.字符串去重排序 2.列表去重 第3关 猜年龄 第4关 集合的属性、方法与运算 第5关 集合介绍 第6关 手机销售统计 第7关 集合添加元素 第8关 列表嵌套字典的排序 第9关 绩点计算 第10关 通讯录&#xff08;MOD&#xff09; 第11关 字典增加元素 第12关 字典的属性…

CMIP6:WRF模式动力降尺度、单点降尺度、统计方法区域降尺度

专题一 CMIP6中的模式比较计划 1.1 GCM介绍 ​ 1.2 相关比较计划介绍 ​ 专题二数据下载 2.1方法一&#xff1a;手动人工 ​ 利用官方网站 2.2方法二&#xff1a;自动 利用Python的命令行工具 ​ 2.3方法三&#xff1a;半自动购物车 利用官方网站 ​ 2.4 裁剪netCDF文件 …

(详解)js中什么是宏任务、微任务?宏任务、微任务有哪些?又是怎么执行的?

目录 参考资料 必看强烈建议十分钟看完视频 &#xff0c;即可学会 必看参考详解宏任务微任务 笔记 宏任务与微任务 定时器的任务编排 promise的微任务处理逻辑 DOM渲染任务 任务队列共享内存 进度条的实现 任务拆分成多个任务 promise复杂任务分割 img算同步还是异步…

Kubernetes 集群中某个节点出现 Error querying BIRD: unable to connect to BIRDv4 socket

1. 问题描述 Readiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to connect to BIRDv4 socket: dial unix /var/run/calico/bird.ctl: connect: connection refusedReadiness probe failed: 2023-05-04 22:13:23.706 [INFO]…

带你彻底理解Spark的分区

前言 我:什么是RDD? 面试者:RDD是被分区的,由一系列分区组成… … 我:你怎么理解分区? 面试者:… 我:Spark中有哪些可以实现分区的方法?分别使用的场景是什么? 面试者… 我:Spark默认分区数是多少?如何保证一个分区对应一个文件? 面试者… 我:…谢谢您的面试,回…

【Git】制造冲突以及解决冲突的详细方法

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

干掉Config server的两个节点之后会发生什么?

当前MongoDB集群的测试环境的架构有两个分片&#xff0c;每个分片是三个节点的副本集&#xff0c;一个mongos&#xff0c;mongoDB v4.4.20 config server也是三个节点的副本集&#xff08;configReplSet&#xff09;&#xff0c;直接停掉两个节点之后&#xff0c;关闭步骤的返…