【React笔记二】React面向对象编程

模块化与组件化的理解

  1. 模块化:
    1)理解:向外提供特定功能的js程序,一半就是一个js文件
    2)为什么要拆成模块:随着业务逻辑增加,代码越来越多且复杂
    3)作用:复用js,简化js的编写,提高js运行效率
    4)类似平时代码封装的 utils.js, hook.js, static.js
    5)当应用的js都以模块来编写,这个应用就是一个模块化的应用
  2. 组件化
    1)理解:用来实现局部功能效果的代码和资源的集合
    2)为什么要使用组件化:一个界面的功能更复杂
    3)作用:复用编码,简化项目编码,提高运行效率
    5)当应用是以多组件的方式实现,这个应用就是一个模块化的应用

创建函数式组件

1)函数内的this指向undefined
2)必须有返回值
3)函数名大写

创建类式组件

1)类中的构造器不是必须写的,要对实例进行一些初始化的操作,如添加指定属性时才写
2)如果A类继承了B类,且A类中写了构造器,那么A类构造器中的super()是必须要调用的
3)类中所定义的方法,都是放在了类的原型对象上,供实例使用

组件实例的三大核心属性

state

理解

1)state是组件对象最重要的属性,值是对象(key-value)
2)组件被称为"状态机",通过更新组件的state来更新对应的页面显示(重新渲染组件)

注意

1)组件render方法中的this为组件实例对象
2)组件自定义方法中的this为undefined,如何解决
a.强制绑定this,通过bind()
b.定义方法时用箭头函数 ——————推荐
c.方法调时用箭头函数
3)状态不可直接更改,借助内助API通过setState()更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值