React博客学习笔记
本文最后更新于 2026年1月28日 早上
React博客学习笔记

如果你遇到以下情况,建议使用 getPopupContainer:
下拉菜单被截断或无法完整显示
使用了 CSS transform, filter, clip-path 等影响定位的属性
使用了 position: fixed 或响应式布局,需要控制层级关系感受一下箭头函数
1
2
3
4
5
6
7
8// 你招聘了一个服务员
const 服务员 = (顾客说的话) => {
// 服务员的工作是:把顾客说的话记下来
this.setState({ 今天的订单: 顾客说的话 });
};
// 当服务员工作时的样子:
服务员("我要一份红烧肉"); // 服务员收到"我要一份红烧肉"这句话相对于Java那边来说,就是在把括号这部分的参数夹在一个箭头里面
有种简化写法就是把方法名加上箭头函数的尾巴去掉
三种绑定方式
| 方法 | 作用 | 传参方式 | 调用方式 |
|---|---|---|---|
call | 单次绑定 this 并执行 | 第一个参数是 this,后续参数逐个传入 | 直接调用(立即执行) |
apply | 单次绑定 this 并执行 | 第一个参数是 this,第二个参数是数组(批量传参) | 直接调用(立即执行) |
bind | 永久绑定 this | 第一个参数是 this,后续参数可预设(柯里化) | 返回新函数(需手动调用) |
核心实现: 用bind永久绑定this
1 | |
绑定 + 预设参数(bind 的额外用途)
1 | |
总结
- bind预设的参数永远不会被覆盖
- 后续传递的参数是用来补充额外的参数的,不是用来覆盖的
- 如果函数参数个数小于bind预设+新传参数总数,超出的参数会被忽略
记住:bind的参数预设是永久性的!
- 注意的是在 render() 方法中,需要使用 this.props 替换 props:
super (props) 的作用
如果写了构造函数,**必须第一行调用 super(props)**:
super()是 ES6 类继承中调用父类(React.Component)构造函数的语法;- 加
props参数是为了让构造函数内也能访问this.props(如果不加,构造函数内this.props是 undefined,但 render 里仍能访问)。
React博客学习笔记
http://yething.github.io/posts/2317628258.html