前面讲过了很多后端,今天复习一下前端,为啥要讲React?对咯!我这边又被借调到前端组了,和前端的同学一起做React,以前有基础加上前端同学只做过Vue,所以我毫无疑问的又被借过去了......,这个是复习资料,高级玩家可略过。
首先我要说一下,有Vue框架和JS原生的同学学习React会特别的快速,所以基础稍微差一点的同学可以先复习一下JS,特别说一下是JS
老生常谈的,说明一下啥是React和React的特点
起源于 Facebook 的内部项目,用来架设Instagram 的网站。
1.声明式设计 −React采用声明范式,可以轻松描述应用。
2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。
3.灵活 −React可以与已知的库或框架很好地配合。
4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。
5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
然后说一下我自己的理解:
说得直接点就是DOM对象,所有元素都会在DOM对象里面操作,所以首先要声明一个容器(允许动态地访问和更新程序或脚本的内容、结构和www文档的风格)
前后不分离的都会使用模版引擎来渲染数据,React中使用Rendor来渲染数据(好多后端的框架也是用Rendor关键字来渲染数据)
ReactDOM.render(元素名,document.getElementById('ID名'))
方式一(函数内定义渲染元素):
方式二(函数外定义渲染元素:
const element = Hello, world!
;
ReactDOM.render(
element,
document.getElementById('example')
);
方式一:
//定义Hello函数
function Hello(props) {
return Hello World!
;
}
//绑定函数
ReactDOM.render( , document.getElementById("example"));
方式二:
//定义tick函数
function tick() {
const element = (
Hello, world!
现在是 {new Date().toLocaleTimeString()}.
);
ReactDOM.render(
element,
document.getElementById('example')
);
}
//tick方法调用
setInterval(tick, 1);
class MessageBox extends React.Component{
onClick = ()=>{
alert('测试点击成功');
}
render = ()=>{
return ( 测试数据
)
}
}
ReactDOM.render( ,
document.getElementById('example'),
)
JSX(JavaScript的替代语法:实质还是一样的,只是通过js引入来渲染DOM)
语法:{} 中写对应的逻辑代码
//命名helloworld_react.js 文件
ReactDOM.render(
Hello, world!
,
document.getElementById('example')
);
//页面引入js
单一组件(其实实质还是一样的,只是进行了封装和调用,类似与抽象类 + 注入):
//定义HelloMessage方法
function HelloMessage(props) {
return Hello {props.name}!
;
}
//常量引入He