一、react是什么

react是一个用于构建用户界面的 JavaScript 库

二、怎么用

2.1. 安装脚手架

​
npm i create-react-app -g​

2.2. 创建项目

create-react-app 项目名

2.3. 启动项目

npm start

二、元素渲染

文本渲染

const str = "hello world"
function App() {return (<div><p>{str}</p><p>{3 - 1}</p><p>{str.split('').reverse().join('')}</p></div>)
}
export default App;

html渲染

import './App.css';const stl = {fontSize:'24px',color:'red'
}
function App(){return (<div><h1 className='myh'>我是张三</h1>{<p style={stl}>我会变色</p>}</div>)
}
export default App;

三、条件渲染

&& 与三目运算符

const str = '给我爱吃的喜之郎';
const msg = '还是<strong>html</strong>简单';
const score = 80;
let flag = true;
const list = ['react','vue','angular','jQuery'];
function App(){return (<div><h1>长大我想当太空人</h1><p>爷爷奶奶可高兴了</p><p>{str}</p><p>{2+3}</p><p>{str.length}</p><p>{str.split('').reverse().join('')}</p><p>条件渲染</p><p dangerouslySetInnerHTML={{__html:msg}}></p><p>条件渲染</p>{score>=60?'及格':'再学一遍'}{flag&&<p>啊这</p>}<p>列表渲染</p>{list.map((item,index)=><h3 key={index}>{item}</h3>)}</div>)
}
export default App;

如果条件是 true ,&& 右侧的元素就会被渲染,如果是 false,React 会忽略并跳过它。

四、列表渲染

import './App.css';const arr = [<p key='a'>我直接坐飞机去你的坟头</p>,<p key='b'>疯狂的偷吃你的贡品</p>,<h1 key='c'>我是谁</h1>
]
const stl = {fontSize:'24px',color:'red'
}
function App(){return (<div><h1 className='myh'>张三</h1>{arr}{<p style={stl}>应用样式</p>}</div>)
}
export default App;
  1. key 帮助 React 识别哪些元素改变了,比如被添加或删除。应当给数组中的每一个元素赋予一个确定的标识。
  2. 如果列表项目的顺序可能会变化,不建议使用索引来用作 key 值,因为这样做会导致性能变差,还可能引起组件状态的问题。

五、事件渲染

React 事件与 js 事件一致 ,但是React 事件的命名采用 小驼峰式 (camelCase)

5.1、箭头函数 onClick={()=>{ xx }}

function App() {return (<div><button onClick={() => { alert("秋天") }}>按钮</button></div>)
}
export default App;

5.2、onClick={函数名}

const say = function () {alert("秋天")
}
function App() {return (<div><button onClick={say}>按钮</button></div>)
}
export default App;

5.3、onClick={函数名.bind(this,参数)}

const say = function (str) {alert("秋天" + str)
}
function App() {return (<div><button onClick={say.bind(this, '真美')}>按钮</button></div>)
}
export default App;

5.4、onClick={()=>函数名(参数)}

const say = function (str) {alert("秋天" + str)
}
function App() {return (<div><button onClick={() => say('真温柔')}>按钮</button></div>)
}
export default App;

六、react 响应式数据 State


import React,{Component}from 'react';
class App extends Component{constructor(props) {super(props);this.state={num:1}}addNum(n){this.setState({num:this.state.num+n})}render(){return(<div><h1>函数类</h1><button onClick={()=>{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;

带你了解一下reac框架相关推荐

  1. 从理论到工具 - 带你全面了解自动化测试框架

    什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程, ...

  2. 手把手带你撸一把springsecurity框架源码中的认证流程

    提springsecurity之前,不得不说一下另外一个轻量级的安全框架Shiro,在springboot未出世之前,Shiro可谓是颇有统一J2EE的安全领域的趋势. 有关shiro的技术点 1.s ...

  3. 手写带注册中心的rpc框架(Netty版和Socket版)

    之前使用socket实现了一个简单的RPC框架调用,不了解RPC的实现原理的可以看下那篇文章 手写实现RPC框架基础功能 之前的客户端里是写死了服务端的ip和端口号,这里代码做了个优化,使用zooke ...

  4. 带你玩转 ui 框架 ——scoped及样式穿透问题详解

    前言 在我们前端的开发中经常会使用到各种 ui 框架 下面这两个是比较火的,也是我常用的两个ui框架. 问题描述 但是在使用框架的时候难免会遇到需要改变组件中的一些样式,当然如果我们所有页面的组件样式 ...

  5. BATJ大数据架构师带你领略实时计算框架Flink的魅力!

    你是不是经常体验或看到以下这些场景? "小张,你看能不能做个监控大屏实时查看促销活动销售额(GMV)?" "小王,我们现在搞促销活动能不能实时统计销量 Top3 啊?&q ...

  6. 从理论到工具:带你全面了解自动化测试框架

    软件行业正迈向自主.快速.高效的未来.为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价.快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更 ...

  7. web自动化如何在不同浏览器运行_从理论到工具:带你全面了解自动化测试框架...

    软件行业正迈向自主.快速.高效的未来.为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价.快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更 ...

  8. 一文带你快速上手Highcharts框架

    前言 前端开发中,数据可视化尤为重要,最有效的方式可以通过图表库进行数据可视化,其中 ECharts.Highcharts 提供了丰富的图表,适用各种各样的功能,ECharts 相对来说基本可满足日常 ...

  9. 带你全面了解自动化测试框架—从理论到工具

    软件行业正迈向自主.快速.高效的未来.为了跟上这个高速前进的生态系统的步伐,必须加快应用程序的交付时间,但不能以牺牲质量为代价.快速实现质量是必要的,因此质量保证得到了很多关注.为了满足卓越的质量和更 ...

最新文章

  1. CCTouchDispatcher sharedDispatcher 方法过期
  2. numpy中的tile函数
  3. 如何用JS实现音乐播放、暂停
  4. Java面试题中高级,javaif循环语句
  5. matlab神经网络 误差曲线,神经网络如何输出各层训练误差曲线?
  6. 安全企业 Stormshield 披露数据泄露事件 源代码被盗
  7. “管家婆”软件用于维修管理 (转)
  8. 优化模型之指派问题(整数规划)
  9. idea :插件Statistic 统计代码数量和行数
  10. 谷歌seo外链Backlinks研究工具推荐
  11. cs架构自动化测试工具选型
  12. Kafka原理介绍+安装+基本操作
  13. 【Codewars】Pick peaks
  14. python实践输出星星_打印星星 - Python
  15. CAD怎么调整绘图区左下方显示坐标的框
  16. Android无线热点默认属性修改
  17. 浅谈response.setHeader()用法
  18. 社团管理系统网站(php+mysql)
  19. 【SGD深入理解】vanilia SGDmomentum SGD
  20. 毕业设计 - 基于java web的在线考试系统【源码+论文】

热门文章

  1. XDOC云服务API(五)
  2. 需要求三个长方体的体积,请编写一个基于对象的程序。
  3. html url编码、url解码
  4. 计算机硬件新技术 ppt,信息新技术——计算机硬件与软件.ppt
  5. python三维点云投影(一)
  6. 服务器文件存档规范,国家标准电子文件归档与管理规范.doc
  7. source profile之后关闭终端,在打开终端nvcc -V和java -verson没有输出
  8. 非标准化疾病诉求的简单分诊挑战赛2.0
  9. 闲鱼跳转支付宝+带后台源码
  10. 千纸鹤多边形建模Max教程----作者: vincent整理 来源: cgblog