文章目录

  • 概述
  • 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学习总结(一)相关推荐

  1. react学习笔记1--基础知识

    什么是react A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES[React是一个用于构建用户界面的JavaScript库.] React之所以快, ...

  2. react render没更新_web前端教程分享React学习笔记(一)

    web前端教程分享React学习笔记(一),React的起源和发展:React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写 ...

  3. 2019 年 React 学习路线图

    作者 | javinpaul 译者 | 无明 之前我们已经介绍了 2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框架,在 Facebook 的支持下,近年来实现了飞越式的发 ...

  4. React  学习第二天 2018-07-21

    React  学习第二天 我这个React 学习存在以下毛病 1.不报错, 2.不能自动热加载,不能自动刷新 3.不能修改props 属性的值,但是这个却能够修改. 1.Vue 和React的关于 k ...

  5. React  学习第一天-2018-07-21

    React  学习第一天 1.Dom 和虚拟Dom Dom 是浏览器中实际存在的,虚拟Dom是框架中的,是利用JS代码来模拟DOM. 虚拟Dom 是实现页面的实时更新. Dom树,一个网页的呈现过程, ...

  6. React学习:路由定义及传参、数据复用-学习笔记

    文章目录 React学习:路由定义及传参.数据复用-学习笔记 在React中使用react-router-dom路由 简单例子 路由定义及传参 React学习:路由定义及传参.数据复用-学习笔记 在R ...

  7. React学习:脚手架搭建、antd引入-学习笔记

    文章目录 React学习:脚手架搭建.antd引入-学习笔记 脚手架搭建 项目目录结构 antd引入 antd附加:数据可放置的三个位置 React学习:脚手架搭建.antd引入-学习笔记 脚手架搭建 ...

  8. React学习:ref调用、组件封装调用-学习笔记

    文章目录 React学习:ref调用.组件封装调用-学习笔记 ref调用-string形式 ref调用-回调形式(官方推荐) ref调用-父调子 组件封装调用demo(全选) demo1(单组件) d ...

  9. React学习:生命周期、过滤器、event、axios-学习笔记

    文章目录 React学习:生命周期.过滤器.event.axios-学习笔记 生命周期 过滤器 webapp小例子: event - 和原生JavaScript写法一样的 axios React学习: ...

  10. React学习:组件之间的关系、参数传递-学习笔记

    文章目录 React学习:组件之间的关系.参数传递-学习笔记 父到子传递参数 子-父 父-孙 兄弟组件传参 React学习:组件之间的关系.参数传递-学习笔记 父到子传递参数 <!DOCTYPE ...

最新文章

  1. Python20-Day02
  2. pandas使用query函数基于判断条件获得dataframe中满足条件的数据行(row)的索引列表(index of rows matching conditions in dataframe)
  3. 虚拟机用户配置root权限
  4. Hibernate中Session的清理与清空
  5. python多值参数函数介绍,数字累加例子
  6. python衍生特征
  7. 怎么查看有关cas的报错_Linux LVM I/O报错,你也遇到这样的问题吗?
  8. 数据库Sqlite3
  9. HTML5与HTML4的比较
  10. Python监听键盘和鼠标事件,并发送内容至邮箱!
  11. mybatis redis_基于人事年假管理的系统springboot+mybatis+redis+拦截器
  12. 视频直接变漫画!GAN又有了新玩法 | Demo+代码+论文
  13. ContentObserver
  14. 大杂烩 -- Iterator 和 Iterable 区别和联系
  15. paip.discuz x2.5 用户及积分账户的接口attilax总结
  16. 【Delta并联机器人Simscape仿真(正运动学、逆运动学)】
  17. 皮克公式(格点多边形内点的个数)
  18. JZYZOJ1384 种花小游戏 状压dp
  19. 全球与中国服装测试、检验及认证市场深度研究分析报告
  20. 2022年线上求职!我建了一个AI算法岗求职群

热门文章

  1. SDOI 2018二轮题解(除Day2T1)
  2. 使用tb6612模块驱动直流电机
  3. 【Spring之轨迹】结合 @Scheduled 实现定时将 Redis 缓存刷入数据库(配 Redis 工具类与例子实战)
  4. [http-nio-8080-exec-9] com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getPoolManager
  5. 项目设计Andriod部分-做一个学习类App-1
  6. C语言对称矩阵的判定
  7. 【Hive】总体标准差stddev()
  8. CPU VS GPU
  9. Flume安装部署,采集方案配置文件编写案例,启动agent采集数据
  10. 建议收藏:GitHub 上值得收藏的100个精选前端项目!