React 两个Fun 互相调用 this >>指向问题

#1

有两个方法写在

class App extends Component {
A(){
 xxxx
};
B(){
this.A();
};

A B 都是自定义的方法,不是周期函数
出错了,。。。 看了下是this 指向不对。因为B方法其实被传到了子组件里,触发也在子组件
那怎么样能把A 和B 里的 this 都指向当前环境勒。。。

#2

方法一, 在构造函数中绑定:

constructor() {
    this.A = this.A.bind(this);
}

方法二, 用箭头函数:

class App {
    A = () => {}
}
1 Like
#3

箭头函数会报错。。。不知道写法为啥不坠

#4

配置babel. 具体哪个特性我也忘了

#5

赞同 @suisuijiang 的回答

需要安装 babel-preset-stage-0 才能使用箭头函数

在.babelrc 配置中加入

其实比较推荐在 constructor() 中进行绑定,有两个好处:

1、清晰的看见组件内需要动作触发的方法有哪些
2、便于文档生成工具进行生成js文档

箭头函数的好处就是:

比较帅

#6

那还是帅更重要