React 是一个用于构建用户界面的 JavaScript 库它是Facebook公司的出品
它的特点是组件思维 单向数据流 虚拟Dom节点
1.创建项目
1.打开cmd输入以下指令下载react脚手架
npm install create-react-app -g
2.创建项目输入
create-react-app react-demo
3.进入项目
cd react-demo
4.运行项目
npm start
2.React的使用
1.在App.js里面使用html的样式
import './App.css'
const arr = [
<p key="a">你好中国</p>,
<p key="b">你好世界</p>,
<p key="c">你好react</p>
]
const stl = {
fontSize:"24px",
color:"#f70"
}
function App(){
return (<div>
<h1 className="myh">你好react</h1>
{arr}
{<p style={stl}>应用样式</p>}
</div>)
}
export default App;
效果图
2.html的渲染
const str = "你好react"
const msg = "还是<strong>html</strong>简单"
const score = 80;
let flag = true;
const list = ["react","vue","javascript","css","jquery"]
function App(){
return (
<div>
<h1>模板语法</h1>
{list.map((item,index)=><p key={index}>{item}</p>)}
<p>03条件渲染()三目运算符,&&</p>
<p>{score>=60?'及格':'在学一遍'}</p>
{flag&&<p>芝麻开门</p>}
<p>{str}</p>
<p>{3+2}</p>
<p>{str.split('').reverse().join('')}</p>
<p>02 html渲染</p>
<p dangerouslySetInnerHTML={{__html:msg}}></p>
</div>
)
}
export default App;
效果图
3.react的点击事件
function App(){
function say(str){
alert("我喜欢夏天的雨"+str)
}
return (
<div>
<h1>事件</h1>
<p>react 事件与js事件一致,需要驼峰写法</p>
{/* <button onClick={()=>{alert("我喜欢春天")}}>按钮</button> */}
<button onClick={say.bind(this,"甜的")}>按钮1</button>
<button onClick={say.bind(this,"冷的")}>按钮2</button>
<button onClick={()=>say('苦的')}>按钮3</button>
</div>
)
}
export default App;
效果图
按钮1
按钮2
按钮3
4.react 响应式数据 state
// react 响应式数据 state
import React,{Component} from "react";
// 导入React 和Component方法 imrc + TAB
class App extends Component{
// 创建一个App类 基础了Component ccc+Tab
constructor(props){
// 构造函数
// 执行父类方法
super(props)
// 响应式方法
this.state = {num:1}
}
addNum(n){
this.setState({num:this.state.num+n})
}
render(){
// 渲染方法
return (
// 返回一个节点
<div>
<h1>函数类</h1>
<button onClick={()=>{
// 更新num值为原来的值+1
this.setState({num:this.state.num+1})
}}>
{this.state.num}
</button>
<button onClick={this.addNum.bind(this,2)}>{this.state.num}</button>
</div>)
}
}
export default App;
效果图
点击左边会加1 点击右边会加2