type
status
date
slug
summary
tags
category
icon
password
概念
index.js:
- 项目入口
- react和react-dom/client:项目必要的两个核心包
- 导入项目根组件,将根组件渲染到id为root的节点上,也就是将项目的根组件渲染到public的index.html的id为root的div节点上
JSX
基础语法
JSX:JavaScript+XML(HTML)
:- 表示在JS代码中编写HTML模板结构,是React中编写UI模板的方式
- HTML声明式的模板写法+JS的可编程能力
- 本质:JS的语法扩展,浏览器本身不能识别,需要通过解析工具做解析之后才能在浏览器中运行
- 使用JS表达式:大括号语法,里面仅支持表达式,不支持语句(if、变量声明之类的)
列表渲染/条件渲染
- 列表渲染:
- 用原生js的map方法
- key值:独一无二的字符串或者number id。是react框架内部使用,用来提升更新性能的
- 提高虚拟dom的更新性能
- 若不设置key,可能触发一些bug:比如说只更新第二行,因为没有key导致其他的元素也更新了,或者最后的结果不是更新,而是做成了多一行其他的
- 为了触发过渡的效果
v-for中key的作用有点像:key属性是dom元素的唯一标识,如果没有这个东西的话,在dom里面添加/删除一个元素就必须整体进行重绘,但如果有了key,重绘之前vue会检查哪些是需要重绘的新元素,如果没有的话就直接用之前的,避免资源浪费。
- 基础条件渲染
- 复杂条件渲染
自定义函数(返回不同JSX模板)+if判断语句
事件绑定
语法:on+事件名称={ 事件处理程序(回调函数) }
获取事件对象:在事件回调函数里面写一个形参
传递自定义参数:箭头函数

组件
一个组件就是首字母大写的函数,内部存放了组件的逻辑和视图UI,渲染组件就是把组件当成标签书写
useState
useState是一个React Hook函数,它允许我们向组件添加一个状态变量,从而影响组件的渲染结果
类似于toRef

计数器:
修改状态的规则:
- 在React中,状态被认为是只读的,我们应该始终替换它而不是修改它,直接修改状态不能引发视图更新
- 相当于用setCount,传入一个新值,这个方法在内部可以实现视图更新
修改对象状态:
- 规则:对于对象类型的状态变量,应该始终传给set方法一个全新的对象来进行修改
组件基础样式方案
index.css:
- import导入,就可以使用里面的样式
- 用className来绑定类名
- 也可以直接写:
受控表单绑定
- state绑定到input的value属性
- 把input最新的value值设置到state
- 准备一个react状态值
- 通过value属性绑定状态,通过onChange属性绑定状态同步的函数
input属性变化之后onChange里面的函数就会执行
库
lodash
排序:
- orderby(对象数组, ‘按某字段排序’, ‘排序方式(esc/desc)’)
- 返回一个新的数组,不会修改原数组
classnames
可以非常方便地通过条件动态控制class类名的显示

可以用key: value的形式:
- key表示要显示的类名
- value表示控制类名显示的条件
Vue的动态绑定类名和样式:
script:用来控制是否加上active这个类名
- Author:orangec
- URL:orange’s blog | welcome to my blog (clovy.top)/article/199c107a-b41d-805f-a76f-d89ebe61ddab
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!