Reactjs 什么';在React类中声明方法的区别是什么?
下面两种在React组件中定义方法的方法之间有什么区别(如果有)Reactjs 什么';在React类中声明方法的区别是什么?,reactjs,Reactjs,下面两种在React组件中定义方法的方法之间有什么区别(如果有) export default class Foo extends React.Component< bar() { ... } bar = () => {} ... } 导出默认类Foo扩展React.Component< bar(){ ... } 条=()=>{} ... } 这实际上不是一个特定于React的问题,更多关于JavaScript中的类 第一个是方法,第二个是分配了箭头函数
export default class Foo extends React.Component<
bar() {
...
}
bar = () => {}
...
}
导出默认类Foo扩展React.Component<
bar(){
...
}
条=()=>{}
...
}
这实际上不是一个特定于React的问题,更多关于JavaScript中的类
第一个是方法,第二个是分配了箭头函数的属性。实际的区别是,第二个将绑定到对象(即this
),而第一个将不绑定
在React中,如果函数将作为回调传递给另一个函数或组件,则通常使用此选项。现在无法定位,但这会被复制多次。TL;DR:binding和prototype v实例,例如(对不起,票数已满)。看这是否回答了你的问题?arrow函数声明不保留类的“this”实例,在基于类的组件中,使用常规声明函数最为常见,而在基于函数的组件中,使用arrow函数更为常见