React 从入门到入土(一)-- 基础知识以及 jsx语法

简介: 一、React 简介

一、React 简介

1. 关于 React

整几个面试题来认识一下~~


什么是 React ?


React 是一个用于构建用户界面的 JavaScript 库。


是一个将数据渲染为 HTML 视图的开源 JS 库

它遵循基于组件的方法,有助于构建可重用的 UI 组件

它用于开发复杂的交互式的 web 和移动 UI

React 有什么特点?


使用虚拟 DOM 而不是真正的 DOM

它可以用服务器渲染

它遵循单向数据流或数据绑定

高效

声明式编码,组件化编码

React 的一些主要优点?


它提高了应用的性能

可以方便在客户端和服务器端使用

由于使用 JSX,代码的可读性更好

使用React,编写 UI 测试用例变得非常容易

2. Hello React

首先需要引入几个 react 包,我直接用的是老师下载好的


React 核心库、操作 DOM 的 react 扩展库、将 jsx 转为 js 的 babel 库

image.png

const VDOM = <h1>Hello,React</h1>
ReactDOM.render(VDOM,document.querySelector(".test"))

3. 虚拟 DOM 和真实 DOM 的两种创建方法

3.1 JS 创建虚拟 DOM

//1.创建虚拟DOM,创建嵌套格式的dom
const VDOM=React.createElement('h1',{id:'title'},React.createElement('span',{},'hello,React'))
//2.渲染虚拟DOM到页面
ReactDOM.render(VDOM,document.querySelector('.test'))

3.2 Jsx 创建虚拟DOM

//1.创建虚拟DOM
  const VDOM = (  /* 此处一定不要写引号,因为不是字符串 */
      <h1 id="title">
      <span>Hello,React</span>
    </h1>
  )
//2.渲染虚拟DOM到页面
  ReactDOM.render(VDOM,document.querySelector('.test'))

js 的写法并不是常用的,常用jsx来写,毕竟JSX更符合书写的习惯

二、jsx 语法

1.定义虚拟DOM,不能使用“”  

2.标签中混入JS表达式的时候使用{}

id = {myId.toUpperCase()}

3.样式的类名指定不能使用class,使用className

4.内敛样式要使用{{}}包裹

style={{color:'skyblue',fontSize:'24px'}}

5.不能有多个根标签,只能有一个根标签  

6.标签必须闭合,自闭合也行  

7.如果小写字母开头,就将标签转化为 html 同名元素,如果 html 中无该标签对应的元素,就报错;如果是大写字母开头,react 就去渲染对应的组件,如果没有就报错

记几个

1. 注释

写在花括号里

ReactDOM.render(
    <div>
    <h1>小丞</h1>
    {/*注释...*/}
     </div>,
    document.getElementById('example')
);

2. 数组

JSX 允许在模板中插入数组,数组自动展开全部成员

var arr = [
  <h1>小丞</h1>,
  <h2>同学</h2>,
];
ReactDOM.render(
  <div>{arr}</div>,
  document.getElementById('example')
);

tip: JSX 小练习

根据动态数据生成 li

const data = ['A','B','C']
const VDOM = (
    <div>
        <ul>
            {
                data.map((item,index)=>{
                    return <li key={index}>{item}</li>
                })
            }
        </ul>
    </div>
)
ReactDOM.render(VDOM,document.querySelector('.test'))

溜了溜了,累了累了

相关文章
|
6天前
|
XML 前端开发 JavaScript
react之了解jsx
react之了解jsx
|
2月前
|
前端开发 JavaScript
学习react基础(3)_setState、state、jsx、使用ref的几种形式
本文探讨了React中this.setState和this.state的区别,以及React的核心概念,包括核心库的使用、JSX语法、类与函数组件的区别、事件处理和ref的使用。
66 3
学习react基础(3)_setState、state、jsx、使用ref的几种形式
|
3月前
|
XML JavaScript 前端开发
React Jsx语法入门
【8月更文挑战第13天】React Jsx语法入门
43 4
|
6天前
|
JavaScript 前端开发 容器
React零基础入门02--JSX语法基础
React零基础入门02--JSX语法基础
React零基础入门02--JSX语法基础
|
23天前
|
XML 前端开发 JavaScript
React JSX
React 使用 JSX(一种类似 XML 的 JavaScript 语法扩展)来替代传统 JavaScript 编写 UI。JSX 使代码更简洁、执行更快且类型安全。例如,`&lt;h1&gt;Hello, world!&lt;/h1&gt;` 实际上是创建一个 React 元素,通过 `ReactDOM.render()` 渲染到 DOM。注意,JSX 中使用 `className` 替代 HTML 的 `class` 属性。
|
6天前
|
存储 前端开发 JavaScript
react之jsx编译原理
react之jsx编译原理
|
1月前
|
XML 前端开发 JavaScript
React JSX
10月更文挑战第7天
14 2
|
3月前
|
前端开发 JavaScript 开发者
React 的 ES6 语法与 ES5 相比有何不同?
【8月更文挑战第30天】
60 1
|
3月前
|
前端开发 JavaScript
React Server Component 使用问题之添加jsx的组件化能力,如何操作
React Server Component 使用问题之添加jsx的组件化能力,如何操作
|
3月前
|
XML 前端开发 JavaScript
【React新手必看】JSX,让你的代码舞动起来!
【8月更文挑战第24天】JSX(JavaScript XML)是React开发的核心,作为一种JavaScript语法扩展,它支持在代码中使用类似HTML的标签。JSX并非模板语言,在编译过程中转换为纯JavaScript,使React能高效更新DOM并渲染页面。其优势在于直观性、简洁性和灵活性:简化复杂用户界面构建、减少代码量,并支持HTML标签、React组件及JavaScript变量的表达式插入。基本用法涉及定义组件UI,如创建包含标题和段落的简单组件。
82 0