React入门与基础知识

向上的小杨 2019-02-27

前端与交互设计 react Image API html 数组

react是什么

react是一个用来做UI的组件,他专注于做MVC中的V(视图)

为什么要选择react

使用其他的技术如Jquery,需要记很多api,学习起来比较复杂麻烦。
而react具有以下优点:

  • API比较少,类库学习起来简单
  • 组件内聚,易于组合
  • 原生组件和自定义组件融合渲染(互相嵌套一起渲染)
  • 状态/属性驱动全局更新,不用关注细节更新
  • commonjs生态圈/工具链完善

react的基础知识

JSX

类似XML语法,用来描述组件树。
image
将上面的组件,经过类似编译器翻译为下面的语言。
所采用的命名规则为驼峰命名,并且所采用的类名不能与js关键字冲突。

JSX嵌入变量,如下用{变量名}来表示变量的属性值
image

JSX SPREAD
可以通过{...obj}来设置一个对象的键值对到组件的属性值,要注意使用的顺序。
image

EVENT事件

做客户端编程,不可避免需要触发事件。
在react事件,可以通过设置原生dom组件的onEventType属性来监听dom事件,如onClick,onMouseDown(他们的绑定都在一个对象里面,避免了命名空间污染的问题),在加强了组件内聚性的同时,避免了传统html的全局变量污染。
image

组合

组合可以像使用原生dom组件一样使用自定义组件。在react里面只能组合不能继承。
image
如上面,在定义了组件类A后,B使用A并不能继承自A,只能在标签里将A加在i标签内(斜体渲染)进行组合。

组合CHILDREN
可以通过this.props.children来访问自定义组件中的子节点(标签内的空白处内容)。如下图:
image

属性与状态

PROPS属性

可以使用this.props来获取传递给组件的属性值,也可以通过getDefaultProps来指定默认属性值。
image

属性验证prop validation
通过指定propTypes,可以校验属性值的类型。如下图,我们制定了属性值为string类型,当给属性值为2时,仍能运行(进行了类型转换),但是会给出一个warning警告。
image

状态state

状态就相当于局部变量,对于组件的内部的状态,可以使用state
image

Mixin和表单

Mixin

使用mixin可以多个类中实现一些共享的方法,与java中的接口有点类似。mixin是一个普通对象,可以使得不同组件之间共享代码。

表单 Form

与html的区别是:

  • value/checked属性设置后,用户输入无效
  • textarea的值要设置在value属性
  • select的value可以使数组,不建议使用option的selected属性
  • input/textarea的onChange用户每次输入都会触发(即使不失去焦点)
  • radio/checkbox点击后会触发onChange

REF和API

Ref

该功能是为了结合现有的非react类库,通过ref/refs来获取组件实例。
image

Component API

image
image
image

image

登录 后评论
下一篇
云攻略小攻
2433人浏览
2019-10-21
相关推荐
React 入门实例教程
2866人浏览
2016-06-07 16:20:54
前端知识库
2678人浏览
2017-04-10 16:37:34
React 入门实例教程
598人浏览
2015-12-16 21:02:00
前端知识库
31695人浏览
2017-03-02 22:30:55
weui-react项目实战新心得
502人浏览
2018-04-01 14:10:00
github优质图书
4040人浏览
2017-09-30 22:41:00
Flux 架构入门教程
1322人浏览
2016-06-07 16:31:06
React-Native-lesson
1201人浏览
2017-03-05 11:20:00
React Native入门项目与解析
932人浏览
2017-08-08 11:54:00
React Native 简介与入门
1179人浏览
2017-08-08 13:58:00
React 入门实例教程
508人浏览
2016-02-24 14:46:00
1
0
0
7053