react第三天学习笔记
1.react中的事件中绑定方式:
1)使用箭头函数即匿名函数进行绑定(缺点是,页面每渲染次,就生成一次匿名函数)
2)使用普通函数进行绑定(缺点:函数内部this指向不一致,需要使用bind函数进行绑定this,但同样造成渲染一次就bind一次,优点,bind函数可以传参)
3)使用普通函数绑定且直接传参,那样就直接暴露了参数,需在普通函数内部调用普通函数并且bind this
4)这个是为了及时更新数据源的state状态,所以在绑定函数的内部调用根组件的函数改变根数据的state
2.react里面通过ref来获取组件中dom元素,要使用ref之前必须调用React.createRef方法来创建一个ref(这一般在构造函数中进行
3.原本由数据控制的元素,react中dom操作不能使数据发生变化,得自己从数据源中去更改
比如,由数据控制的复选框,在页面点击时不能生效,但还是会触发change事件
4.页面渲染时,事件绑定函数加个括号会自动执行事件绑定的函数(怀疑是闭包的问题)
5.render方法是react用来构建虚拟dom的
6.react的生命周期:
1)shouldComponentUpdate(nextProps,nextState):方法在render方法前可以通过此方法来控制它返回true或false是否执行render
2)react中为了解决重复render问题,也准备了PureComponent对象(它会在上面的方法中对props和state进行第一层的比较)
3)react中有静态的getDerivedStateFromProps()方法,在render方法前可处理props,也可转变state,即在方法中return即可,react会将它自动更新进state中
7.如果想要全局扩展React.Component的prototype,比如想把ajax的方法全局挂载组件的this上
1)引入所有的ajax请求
import * as services from './services'
2)放进prototype原型对象中的新对象http
React.Component.prototype.http = services
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?