day01-React基础-上

React介绍

React由Meta公司开发,是一个用于 构建Web和原生交互界面的库 ​image.png

React的优势

相较于传统基于DOM开发的优势

  1. 组件化的开发方式

  2. 不错的性能

相较于其它前端框架的优势

  1. 丰富的生态

  2. 跨平台支持

React的市场情况

全球最流行,大厂必备 image.png

开发环境创建

create-react-app是一个快速创建React开发环境的工具,底层由Webpack构件,封装了配置细节,开箱即用 执行命令:

npx create-react-app react-basic
  1. npx - Node.js工具命令,查找并执行后续的包命令

  2. create-react-app - 核心包(固定写法),用于创建React项目

  3. react-basic React项目的名称(可以自定义) :::warning 创建React项目的更多方式 https://zh-hans.react.dev/learn/start-a-new-react-project :::

JSX基础

什么是JSX

概念:JSX是JavaScript和XMl(HTML)的缩写,表示在JS代码中编写HTML模版结构,它是React中构建UI的方式

优势:

  1. HTML的声明式模版写法

  2. JavaScript的可编程能力

JSX的本质

JSX并不是标准的JS语法,它是 JS的语法扩展,浏览器本身不能识别,需要通过解析工具做解析之后才能在浏览器中使用

image.png

JSX高频场景-JS表达式

在JSX中可以通过 大括号语法{} 识别JavaScript中的表达式,比如常见的变量、函数调用、方法调用等等

  1. 使用引号传递字符串

  2. 使用JS变量

  3. 函数调用和方法调用

  4. 使用JavaScript对象 :::warning 注意:if语句、switch语句、变量声明不属于表达式,不能出现在{}中 :::

JSX高频场景-列表渲染

image.png

在JSX中可以使用原生js种的map方法 实现列表渲染

JSX高频场景-条件渲染

image.png

在React中,可以通过逻辑与运算符&&、三元表达式(?:) 实现基础的条件渲染

JSX高频场景-复杂条件渲染

image.png

需求:列表中需要根据文章的状态适配 解决方案:自定义函数 + 判断语句

React的事件绑定

基础实现

React中的事件绑定,通过语法 on + 事件名称 = { 事件处理程序 },整体上遵循驼峰命名法

使用事件参数

在事件回调函数中设置形参e即可

传递自定义参数

语法:事件绑定的位置改造成箭头函数的写法,在执行clickHandler实际处理业务函数的时候传递实参

:::warning 注意:不能直接写函数调用,这里事件绑定需要一个函数引用 :::

同时传递事件对象和自定义参数

语法:在事件绑定的位置传递事件实参e和自定义参数,clickHandler中声明形参,注意顺序对应

React组件基础使用

组件是什么

概念:一个组件就是一个用户界面的一部分,它可以有自己的逻辑和外观,组件之间可以互相嵌套,也可以服用多次 image.png

组件基础使用

在React中,一个组件就是首字母大写的函数,内部存放了组件的逻辑和视图UI, 渲染组件只需要把组件当成标签书写即可

组件状态管理-useState

基础使用

useState 是一个 React Hook(函数),它允许我们向组件添加一个状态变量, 从而控制影响组件的渲染结果 和普通JS变量不同的是,状态变量一旦发生变化组件的视图UI也会跟着变化(数据驱动视图)

image.png

状态的修改规则

在React中状态被认为是只读的,我们应该始终替换它而不是修改它, 直接修改状态不能引发视图更新

image.png

修改对象状态

对于对象类型的状态变量,应该始终给set方法一个全新的对象 来进行修改

image.png

组件的基础样式处理

React组件基础的样式控制有俩种方式,行内样式和class类名控制

B站评论案例

image.png
  1. 渲染评论列表

  2. 删除评论实现

  3. 渲染导航Tab和高亮实现

  4. 评论列表排序功能实现

基础模版

完成版本

Last updated

Was this helpful?