【前端】一个更底层库-React基础知识点
创始人
2024-05-28 17:32:02
0

目录

  • Reat是什么?
  • 为什么要使用React
    • 类库比较容易学习,API非常少。
    • 组件内聚,容易组合
    • 原生组件和自定义组件融合渲染
    • 状态/属性驱动全局更新
    • commonjs生态圈/工具栏完善
  • React基础知识
    • JSX概述
    • JSX嵌入变量
    • Event事件
    • 组合
    • 组合CHILDREN
  • 总结

大家好,我是小冷,上一篇学习了算法相关的,接下来开始前端React相关的学习了。

Reat是什么?

React在UI里最火的也是最好的库,React是一个做UI的库,具体来说是做UI组件的库,专注于做mvc中的v,它是一个更底层的工具库。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。
在这里插入图片描述
代码实例:

var Hello = React.createClass({
render : function {
//获得传输的属性值
return 
Hello ithis.props.name}
; }); React.render(,document.getElementById( ' container')); //运行结果过 Hello World

上面的代码就是简单的react组件实例,作用是封装一个组件,其他人使用起来就非常简单,提供一个属性值就会渲染起来了,是不是很方便。

为什么要使用React

类库比较容易学习,API非常少。

在JQuery,VUE,Angular中有大量的方法,每个方法都需要记住,而React的API非常少,把状态和属性设置好,在页面上就能渲染出来。

组件内聚,容易组合

所有的逻辑都是组件内完成的,别人使用可以直接嵌套在代码中

原生组件和自定义组件融合渲染

两个组件可以相互嵌套,一起渲染,实现功能效率比较高。

状态/属性驱动全局更新

数据驱动渲染,只关注当前数据是什么样子,数据和UI同步是库自动来做,工程师只需要实现逻辑代码即可。

commonjs生态圈/工具栏完善

js生态圈有非常多的模块,这些工具栏可以运行到react中,跟node一样。

React基础知识

JSX概述

首先是jsx,jsx不是一种合法js语言,浏览器是不支持这样的语言,没有写type的话浏览器是不能运行的,这种语法是由于标签语法转换为标签应用。
在这里插入图片描述
类似xml的语法,用来描述组件树,组件可以互相嵌套,基于这一点发明了一种类似xml语法,用来生成一颗组件树:

有内容可以结束

#
1

//实质上它编译出的代码是一下这样的

React.createElement( 'div ' ,{className: 'x'},
[
React.createElement( 'a' ,{href : '#'},'#' ),React.createElement (Component,{x:'y'},1);
]);

注意和 html语法不太一样,比如必须是驼峰命名,以及属性名不能和js关键字冲突,例如:className,readQnly。

最终执行的是返回了一颗对象树的根结点,class是不能用的,因为他是保留的关键字,所以要使用className代替。

组件命名必须是大写,大写的话是自定义组件,小写的是普通的html标签。

JSX嵌入变量

Jsx很重要的作用是嵌入到javascript,和一般的模板语言差不多,使用两个括号括起来
可以通过{变量名}来将变量的值作为属性值

var x = 'https://www.csdn.net/' ;
var y = x}target="_blank">
alipay. com;
React.render(y,document.getElementById( ' container'));

Event事件

开发客户端编程,不可避免的是要去挖事件,事件和传统的HTML是不一样的,react把我们想要处理的操作和UI放在一起,进行内聚,但是传统的不可避免是需要全局变量污染,后面状态维护会很难搞,而React解决了全局污染问题。

可以通过设置原生dom组件的onEventType属性来监听dom事件,例如onClick, onMouseDown,在加强组件内聚性的同时,避免了传统html的全局变量污染,把组件所有的行为状态放入组件内部,组件可渲染很多个,因为每个组件都是自己的 。

var LikeButton = React.createclass({getInitialState: function) {return {liked: false};
},handleClick: function(event) {
this.setState({liked: !this.state.liked});
},
render: function( {
var text = this.state.liked ? 'like' : "haven\'t liked';
return (

this.handleclick}>You {text} this. click to toggle.

); React.render( ,Document.getElementById(‘container’) )

组合

推荐组合不推荐继承,react不支持继承,可以像使用原生Dom组件一样使用自定义的组件:

var A = React.createClass(i
render(i
return a
}
});
var B = React.createClass({
render(){
return !;
};
React.render( , document.getElementById( ' container ' ));

组合CHILDREN

自定义组件中可以通过 this.props.children访问自定义组件的子节点

var B = React.createClass(irender(i
return 
    {React.Children.map(this.props.children, function(c){return
  • {c}
  • ;})}
; }});React.render(a href=#">1
2 ,document.getElementById( ' container' ;)

总结

在这里插入图片描述

通过本文知道了React是什么?React官网, React使用组件化开发方式,符合现代Web开发的趋势。由Facebook专门的团队维护,技术支持可靠。使用方式简单,性能非常高,支持服务端渲染。所以从目前市场行情来看,学习React,提高技术水平;从职业角度,有利于求职和晋升,有利于参与潜力大的项目。

今天就学到这里,下一篇继续。

相关内容

热门资讯

苹果系统安卓爱思助手,系统兼容... 你有没有发现,手机的世界里,苹果系统和安卓系统就像是一对欢喜冤家,总是各有各的粉丝,各有各的拥趸。而...
安卓系统占用很大内存,揭秘内存... 手机里的安卓系统是不是让你感觉内存不够用,就像你的房间堆满了杂物,总是找不到地方放新东西?别急,今天...
安卓系统p30,安卓系统下的摄... 你有没有发现,最近安卓系统P30在手机圈里可是火得一塌糊涂呢!这不,我就来给你好好扒一扒这款手机的那...
siri被安卓系统进入了,智能... 你知道吗?最近科技圈可是炸开了锅,因为一个大家伙——Siri,竟然悄悄地溜进了安卓系统!这可不是什么...
最强挂机系统和安卓区别,揭秘安... 亲爱的读者,你是否曾在游戏中遇到过这样的困扰:一边想要享受游戏带来的乐趣,一边又不想放弃手中的零食或...
安卓系统为什么设系统盘,保障稳... 你有没有想过,为什么安卓系统里会有一个叫做“系统盘”的东西呢?这可不是随便设置的,背后可是有大学问的...
王者怎么加安卓系统的,轻松提升... 你有没有想过,你的手机里那款超酷的王者荣耀,怎么才能让它更好地在你的安卓系统上运行呢?别急,今天就来...
安卓手机系统怎么开热点,共享网... 你有没有想过,当你身处一个没有Wi-Fi信号的地方,而你的安卓手机里却存满了精彩视频和游戏时,是不是...
安卓系统11的平板电脑,性能升... 你有没有发现,最近平板电脑市场又热闹起来了?没错,安卓系统11的新一代平板电脑正在悄悄地走进我们的生...
安卓手机系统创始人,安卓手机系... 你有没有想过,那些陪伴我们每天生活的安卓手机,它们的灵魂是谁赋予的呢?没错,就是那位神秘而又传奇的安...
安卓11系统速度提升,体验再升... 你知道吗?最近安卓系统又升级啦!这次可是直接跳到了安卓11,听说速度提升了不少呢!是不是很心动?那就...
安卓5.1原生系统设置apk,... 你有没有想过,你的安卓手机里那些看似普通的设置,其实隐藏着不少小秘密呢?今天,就让我带你一探究竟,揭...
手机安卓系统玩音游,畅享指尖音... 你有没有发现,现在手机上的游戏种类越来越丰富,尤其是音游,简直让人爱不释手!今天,就让我来给你详细介...
安卓系统与win10,系统融合... 你有没有想过,为什么你的手机里装的是安卓系统,而电脑上却是Windows 10呢?这两种操作系统,就...
苹果系统王者安卓系统可以登吗,... 你有没有想过,为什么苹果系统的手机那么受欢迎,而安卓系统的手机却也能在市场上占有一席之地呢?今天,咱...
安卓系统怎么重制系统还原,安卓... 手机用久了是不是感觉卡得要命,想给它来个大变身?别急,今天就来教你怎么给安卓手机重置系统,让它焕然一...
安卓9系统怎样应用分身,轻松实... 你有没有发现,手机里的APP越来越多,有时候一个APP里还要处理好多任务,分身功能简直就是救星啊!今...
获取安卓系统的ip地址,轻松获... 你有没有想过,你的安卓手机里隐藏着一个神秘的IP地址?没错,就是那个能让你在网络世界里找到自己的小秘...
LG彩电安卓系统升级,畅享智能... 你家的LG彩电是不是最近有点儿“闹别扭”,屏幕上时不时地跳出个升级提示?别急,今天就来给你详细说说这...
阴阳师安卓苹果系统,安卓与苹果... 亲爱的玩家们,你是否曾在深夜里,手握手机,沉浸在阴阳师的神秘世界?今天,就让我带你一起探索这款风靡全...