React总结
定义
React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目。
特点
- 虚拟dom节点
- 单向数据流
- 组件开发思维
一、安装
npm i create-react-app -g
//安装脚手架
create-react-app myreact
//创建项目
cd /myreact
//进入项目目录
npm start //启动项目
npm run eject //暴露webpack配置文件
npm run build //打包项目
1. 目录结构
2.src结构
二、jsx语法
javascript和xml(html)标签的混合写法
1.目的
更好的在javascript中写html模板
2.作用
- 有且只有一个根节点
- class写成className
- 在{}中写javascript代码
- 数组里边可以直接写html标签
- 注释用{/* */}
- 样式可以直接展开
三、组件
1.函数组件(无状态组件/视图组件)
function App{
return (<div></div>)
}
export default App;
2.类组件(有状态组件/容器组件)
//可自动生成(vscode快捷键rcc)
import React, { Component } from 'react'
export default class App extends Component {
render() {
return (
<div></div>
)
}
}
四、模板语法
1.文本渲染
//文本渲染
{}
//html文本渲染
dangerouslySetInnerHTML={{__html:this.state.msg}}
2.条件渲染
三元运算符
条件?<></>:<></>
&&符号
{{条件&&<></>}}
3.列表渲染
{this.state.list.map(item=><p key={item}>{item}</p>)}
五、事件
和普通js事件一致,但需要驼峰式写法
sayHi(e = "默认") {
alert(e)
}
onClick={this.sayHi}
onClick={()=>{this.sayHi(参数)}}
onClick={this.sayHi.bind(this,参数)}
六、更新状态(state)
this.setState({k:v})
this.setState({k:v},()=>{console.log("执行完毕的回调函数")})