React学习总结(一)
文章目录
- 概述
- JSX语法
- 元素渲染与组件
- 元素渲染
- 组件
- 类组件
- 函数组件
概述
经过这段时间的 React 学习,自己对这阶段的学习做了一个总结。
JSX语法
在React中使用JSX代替 js;JSX编写模板会更加方便快捷;在刚开始学习 React相关知识时,老是忘记在 script 中添加标签 type=""text/babel,导致代码运行报错;
- 简单的JSX语句
<script type="text/babel">const element = <h1>你好,{name}</h1>
</script>
- JSX 语法中,大括号内可以放置任何有效的 JS 表达式
function formatName(user) {return user.firstName + ' ' + user.lastName}function getUser(user) {if (user) {return <h1>你好,{formatName(user)}</h1>}return <h1>Hello Stranger</h1>}
const element = (<h1>你好,{formatName(user)}</h1>
)
- JSX也是一个表达式 也就是说,你可以在 if 语句和 for 循环的代码块中使用 JSX,将 JSX 赋值给变量,把 JSX 当作参数传入,以及从函数中返回 JSX;
- JSX特定属性
- 可以通过使用引号,来将属性值指定为字符串字面量
const element = <div tabIndex="0"></div>
- 可以在大括号中使用有效的 js表达式,也能在里面调用函数
const element = (<h1>你好,{formatName(user)}</h1>)
- 可以通过使用引号,来将属性值指定为字符串字面量
其他具体特性可参考React官网 https://react.docschina.org/docs/introducing-jsx.html
元素渲染与组件
元素渲染
在 html 代码中定义一个方式需要渲染元素的容器 --> 默认为一个id为root的div ,与 vue类似;然后利用 == ReactDOM.render== 方法;第一个参数为要渲染的内容,第二个参数为,要渲染的容器;
其渲染机制,就是利用 render构建dom树,如果state或者props发生变化
则其会使用diff算法来进行对比新老dom树,将其有变化的部分重新渲染,而不是在重新将整个页面渲染,提高了效率;
ReactDOM.render(<Commentdate={comment.date}text={comment.text}author={comment.author}/>,document.getElementById("root"))
组件
类组件
首先需要引入
import React, { Component } from 'react'
类组件模板
// rcc
import React, { Component } from 'react'export default class test extends Component {render() {return (<div>test</div>)}
}
函数组件
函数组件模板
// rfc
import React from 'react'
export default function test() {return (<div>test</div>)
}
大家可以用这两个代码模板作为自定义的代码块,从而提高自己开发效率,在这篇文章里就先简单的介绍这两种类型组件的写法,至于两者间的区别将会在后面的文章中提到;
React学习总结(一)相关推荐
- react学习笔记1--基础知识
什么是react A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES[React是一个用于构建用户界面的JavaScript库.] React之所以快, ...
- react render没更新_web前端教程分享React学习笔记(一)
web前端教程分享React学习笔记(一),React的起源和发展:React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写 ...
- 2019 年 React 学习路线图
作者 | javinpaul 译者 | 无明 之前我们已经介绍了 2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框架,在 Facebook 的支持下,近年来实现了飞越式的发 ...
- React 学习第二天 2018-07-21
React 学习第二天 我这个React 学习存在以下毛病 1.不报错, 2.不能自动热加载,不能自动刷新 3.不能修改props 属性的值,但是这个却能够修改. 1.Vue 和React的关于 k ...
- React 学习第一天-2018-07-21
React 学习第一天 1.Dom 和虚拟Dom Dom 是浏览器中实际存在的,虚拟Dom是框架中的,是利用JS代码来模拟DOM. 虚拟Dom 是实现页面的实时更新. Dom树,一个网页的呈现过程, ...
- React学习:路由定义及传参、数据复用-学习笔记
文章目录 React学习:路由定义及传参.数据复用-学习笔记 在React中使用react-router-dom路由 简单例子 路由定义及传参 React学习:路由定义及传参.数据复用-学习笔记 在R ...
- React学习:脚手架搭建、antd引入-学习笔记
文章目录 React学习:脚手架搭建.antd引入-学习笔记 脚手架搭建 项目目录结构 antd引入 antd附加:数据可放置的三个位置 React学习:脚手架搭建.antd引入-学习笔记 脚手架搭建 ...
- React学习:ref调用、组件封装调用-学习笔记
文章目录 React学习:ref调用.组件封装调用-学习笔记 ref调用-string形式 ref调用-回调形式(官方推荐) ref调用-父调子 组件封装调用demo(全选) demo1(单组件) d ...
- React学习:生命周期、过滤器、event、axios-学习笔记
文章目录 React学习:生命周期.过滤器.event.axios-学习笔记 生命周期 过滤器 webapp小例子: event - 和原生JavaScript写法一样的 axios React学习: ...
- React学习:组件之间的关系、参数传递-学习笔记
文章目录 React学习:组件之间的关系.参数传递-学习笔记 父到子传递参数 子-父 父-孙 兄弟组件传参 React学习:组件之间的关系.参数传递-学习笔记 父到子传递参数 <!DOCTYPE ...
最新文章
- Python20-Day02
- pandas使用query函数基于判断条件获得dataframe中满足条件的数据行(row)的索引列表(index of rows matching conditions in dataframe)
- 虚拟机用户配置root权限
- Hibernate中Session的清理与清空
- python多值参数函数介绍,数字累加例子
- python衍生特征
- 怎么查看有关cas的报错_Linux LVM I/O报错,你也遇到这样的问题吗?
- 数据库Sqlite3
- HTML5与HTML4的比较
- Python监听键盘和鼠标事件,并发送内容至邮箱!
- mybatis redis_基于人事年假管理的系统springboot+mybatis+redis+拦截器
- 视频直接变漫画!GAN又有了新玩法 | Demo+代码+论文
- ContentObserver
- 大杂烩 -- Iterator 和 Iterable 区别和联系
- paip.discuz x2.5 用户及积分账户的接口attilax总结
- 【Delta并联机器人Simscape仿真(正运动学、逆运动学)】
- 皮克公式(格点多边形内点的个数)
- JZYZOJ1384 种花小游戏 状压dp
- 全球与中国服装测试、检验及认证市场深度研究分析报告
- 2022年线上求职!我建了一个AI算法岗求职群
热门文章
- SDOI 2018二轮题解(除Day2T1)
- 使用tb6612模块驱动直流电机
- 【Spring之轨迹】结合 @Scheduled 实现定时将 Redis 缓存刷入数据库(配 Redis 工具类与例子实战)
- [http-nio-8080-exec-9] com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getPoolManager
- 项目设计Andriod部分-做一个学习类App-1
- C语言对称矩阵的判定
- 【Hive】总体标准差stddev()
- CPU VS GPU
- Flume安装部署,采集方案配置文件编写案例,启动agent采集数据
- 建议收藏:GitHub 上值得收藏的100个精选前端项目!