目录
1. react依赖三个库
react包含react所有核心代码
react-dom渲染在不同平台的代码
babel将jsx转成react代码工具
2. 官方文档React – A JavaScript library for building user interfaces
3. 在script中需要加上type="text/babel",写jsx
4. 写在标签内的语法,
5. 写在标签内的点击事件语法,
6. render函数里面只有一个根标签
7. 在jsx中,null, undefined,false/true(boolean类型),不显示,转化为空渲染在dom上,对以上类型进行转换可显示
8. 注释语法,{/*我是注释*/}
9. 在jsx中,不能将对象类型进行直接写在标签上,会报错
10. 单标签必须加/
11. 其他标签属性语法,
12. 绑定class名字语法,className,
13. 绑定style语法,red: "red"
14. 点击事件,react默认传一个event
15. 写法选择,boolean值,当有值显示,无值不显示
不要使用这个,
尽量使用这个,
16. 数组条件渲染案例[1,2,3,4,5,6,7,8,9],使用filter()和map(),截取采用clice(),累加reduce()
- {
- this.state.arr.filter(item => item % 2 === 0).map(i => <div>{i}div>)
- }
17. 在jsx中,标签区分大小写,如
报错18. 在类里面定义的叫方法,在别的地方定义的叫函数,有点区别,有时候能拿到this的叫方法
- //基本dom
- "app">
-
- // 三个库引入
-
- // 写react
- class App extends React.Component {
- constructor() {
- super()
- this.state = {
- message: "hello world",
- arr: [1, 2, 3, 4, 5],
- counter: 0
- }
- this.test2 = this.test2.bind(this)
- }
-
- render() {
- const domArr = []
- for (let value of this.state.arr) {
- domArr.push({value})
- }
- return (
-
- {this.state.message}
- {/*方法一*/}
- {domArr}
- {/*方法二*/}
- {
- this.state.arr.map(item => {
- return ({item})
- })
- }
- 计数器:{this.state.counter}
- {/*写法一*/}
- +
- {/*写法二*/}
- -
- {/*写法三*/}
- {this.test()}>测试写法
- {/*写法四*/}
- 测试写法2
-
- )
- }
-
- // 加一
- increment() {
- this.setState({
- counter: this.state.counter + 1
- })
- }
- // 减一
- increment = () => {
- this.setState({
- counter: this.state.counter + 1
- })
- }
- // 测试写法
- test() {
- console.log(this.state.counter)
- }
- // 测试写法2
- test2() {
- console.log(this.state.counter)
- }
- }
-
- ReactDOM.render(
, document.getElementById("app"))
二、一些踩坑
1. react-router v5和v6 的一些区别
1.1 v6用Routes代替Switch
1.2 v6废弃了useHistory,用useNavigate
-
相关阅读:
PHP会话技术跟踪和记录用户?使用cookie会话你必须掌握
R语言Poisson回归的拟合优度检验
操作系统入门 -- CPU调度算法
养殖废水总氮超标的解决方法
逻辑回归
QT多线程的四种实现方式之一:QThread类的run
Oracle数据库基础
制作电子签名
day03-2-拓展
决策树(DT)相关介绍,实现肌电信号(8类)分类
-
原文地址:https://blog.csdn.net/qq_51657072/article/details/127610304
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU