
React学习--组件实例的三大核心属性之state
发布日期:2021-05-07 09:21:54
浏览次数:25
分类:精选文章
本文共 892 字,大约阅读时间需要 2 分钟。
一.js的原生事件绑定
- addEventListener
- onclick
- 标签内onclick事件
二.类中的方法this指向
class Person{ Constructor(name,age){ this.name = name this.age = age } study(){ //study方法放在了哪里?--- 类的原型对象上,供实例使用 //通过Person实例调用study时,study中的this就是Person实例 console.log(this) } const p1 = new Person('tom',18) p1.study() // 通过实例调用study方法 const x = p1.study x()}
const x = p1.study
相当于把p1的study属性赋给了x,而x()
相当于直接函数调用,类中定义的函数会在局部开启严格模式,所以x()中的this为undefined
三.解决类中this指向问题
- changeWeather放在了哪里?— 类的原型对象上,供实例使用
- changeWeather作为onClick的回调,是在点击之后执行的,所以不是通过实例调用,而是直接调用;类中的方法会在局部开启严格模式,所以直接调用时,this指向为undefined
四.setState的使用
状态必须要通过setState进行更新,且更新是一种合并,不是替换
- 构造器函数调用几次?— 1次
- render函数调用几次? — 1+n次,1次是初始化的那次,n次是状态更新的次数
- changeWeather函数调用几次? — 点几次调几次
- render方法的主要作用为:读状态,做展示
五.state的简写方式
六.总结
-
组件中render方法中的this为组件实例对象
-
组件自定义的方法中this为undefined,如何解决?
a.在构造器中强制绑定this:通过函数对象的bind() b.箭头函数+赋值语句 -
状态数据,必须只能通过setState进行更新
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月31日 03时33分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Eclipse 创建 Maven 项目
2021-05-09
input[file]标签的accept=”image/*”属性响应很慢的解决办法
2021-05-09
AT 杂题泛做
2021-05-09
StringBuilder拼接字符串,“,”在前还是在后问题
2021-05-09
给asterisk1.8.7添加menuselct选项
2021-05-09
组合模式
2021-05-09
PyQt5之音乐播放器
2021-05-09
css居中方法与双飞翼布局
2021-05-09
Redis进阶实践之十八 使用管道模式提高Redis查询的速度
2021-05-09
多指灵巧手MoveIt!与Gazebo联合仿真框架搭建
2021-05-09
SQL注入
2021-05-09
XCTF-upload1
2021-05-09
LeetCode 题解 | 1. 两数之和
2021-05-09
#2036:改革春风吹满地
2021-05-09
MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】
2021-05-09
P1379 八数码难题 ( A* 算法 与 IDA_star 算法)
2021-05-09
按需取余
2021-05-09
算法学习笔记: 珂朵莉树
2021-05-09