React 优雅 初级入门

4 篇文章 0 订阅
4 篇文章 1 订阅

一. 初识react [逆战(●’◡’●)]

React的官网:https://reactjs.org/

1. react的定义

react是用于构建用户界面的javascript库
相当于mvc的view层
但仍然是数据驱动,数据更新,视图也会改变

2. react的起源

(1) react是由facebook团队开发
(2) 在国际使用较广
(3) 文档地址:
中文文档:https://react.docschina.org/
GitHub地址:https://github.com/facebook/react/
1.

3. react的特点

(1) 声明式
(2) 组件化:
由组件构成复杂的界面,通过js编写的组件可以更好的传递数据,将应用状态和DOM拆分开来
(3) 一次学习,随处编写

二. React环境搭建

1.使用方式

(1) 第一种:使用script引入相关的js文件
(2) 第二种:使用react的脚手架

2.通过script引入相关js搭建react环境

第一步安装:

○1初始化:npm init –y
○2.安装核心包:npm I react或yarn add react
○3.安装react用于web开发的包:npm i react-dom或yarn add reeact-dom
○4.es5转es6,解析jsx的包:npm i babel-standalone

2. 第二步,引入其中所需要的js文件

○1.项目下建一个js文件夹
○2.找到node_modules下的三个js文件:
react文件夹下的umd下的react.development.js
react-dom文件夹下umd下的react-dom.development.js
babel-standalone文件夹下umd下的babel.js
○3.将这三个js文件复制进自己建立的js文件夹
○4.html引入这三个js文件,就搭建好react环境了

3. 第三步,script标签必须为 type=“text/babel”

<script type="text/babel"> </script> 

4. 一个基本的react实例

<!DOCTYPE html>
2)	<html lang="en">
3)	<head>
4)	  <meta charset="UTF-8">
5)	  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6)	  <meta http-equiv="X-UA-Compatible" content="ie=edge">
7)	  <title>Document</title>
8)	  <script src="./js/react.development.js"></script>
9)	  <script src="./js/react-dom.development.js"></script>
10)	  <script src="./js/babel.js"></script>
11)	</head>
12)	
13)	<body>
14)	  <div id="box"></div>
15)	  <script type="text/babel">
16)	    console.log(ReactDOM);
17)	    var a = <h2>hello world</h2>
18)	    ReactDOM.render(a,
19)	      document.getElementById("box"))
20)	  </script>
21)	</body>
22)	
23)	</html>

5. 实例分析说明:

○1 ReactDOM.render()方法用于将组件挂载到DOM节点上
○2. ReactDOM.render()接受两个参数
参数1:要挂载的内容(即template模板)
参数2:要挂载的节点
○3.对于挂载内容,同vue一样,最外层只能有一个标签
○4.html+js的写法,我们称之为jsx语法,前提是script标签的type值为text/babel

3.通过脚手架搭建react环境

使用的是webpack

  1. 第一步安装:
    ○1全局安装脚手架:npm i –g create-react-app
    ○2.查看版本号:create-react-app –version
  2. 创建一个项目:
    create-react-app 项目名
  3. 启动一个项目:
    yarn start或者npm run start

三. React的jsx语法

记住jsx语法必须是script标签的type值为text/babel

1. 什么是jsx?

Html/xml+js混写的写法我们称之为jsx语法
是javascript的扩展
是一种语法糖
可以作为单独的js文件

2. Jsx语法

(1) Jsx中所有的js表达式写在{}中

可以写表达式,但是不能写语句和流程控制
不能同时写多个字段数据
○1可以直接渲染数字和字符串
○2.数组直接渲染,转成字符串拼接
○3.函数渲染的是其返回值,可以渲染函数调用后的结果{a()}
○4.不能直接渲染对象!但是可以渲染对象里的内容obj.key

(2) Jsx中写style样式

React推荐内联样式,是使用一个对象来设置内联样式
style={}
○1可以先在外设置一个样式对象,然后给style={styleobj}
○2.直接用键值对形式,记住键值对为js语句,需要用{}包裹style={{key:value,}}

(3) jsx的class要改为className

因为class是关键字

(4) 绑定事件,事件名需要首字母大写onXxx={}

(5) for属性需要写成htmlFor

(6) 遍历数组时,需要加key属性标识每一个元素标签

可以使用id标识
用index标识,性能会变差,可能引起组件状态的问题,因为数组的删除添加会导致index的变化
通常使用数组的map方法进行映射,返回需要的标签,记得return

(7) 遍历对象:先把对象转为数组,再进行遍历

因为jsx不能直接渲染对象
对象转数组的方法
○1Object.keys //返回对象所有的key值组成的数组
○2.Object.values //返回对象所有的value值组成的数组
○3.Object.entries //返回对象所有的键值对组成的数组

项目步骤

npx create-react-app react-app

cnpm run eject 抽离配置文件

依赖cnpm i react-router-dom -S

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值