Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 什么';在React类中声明方法的区别是什么?_Reactjs - Fatal编程技术网

Reactjs 什么';在React类中声明方法的区别是什么?

Reactjs 什么';在React类中声明方法的区别是什么?,reactjs,Reactjs,下面两种在React组件中定义方法的方法之间有什么区别(如果有) export default class Foo extends React.Component< bar() { ... } bar = () => {} ... } 导出默认类Foo扩展React.Component< bar(){ ... } 条=()=>{} ... } 这实际上不是一个特定于React的问题,更多关于JavaScript中的类 第一个是方法,第二个是分配了箭头函数

下面两种在React组件中定义方法的方法之间有什么区别(如果有)

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函数更为常见