This question already has answers here:
Are 'Arrow Functions' and 'Functions' equivalent / exchangeable?
(2个答案)
2年前关闭。
在展示如何创建高阶组件时,大多数示例都使用function关键字。
以下来自React文档的示例:
在我工作的地方,我们使用TypeScript,并且有TS-lint规则不使用function关键字。
因此,高级版本组件的JS版本将如下所示:
问题是:有什么区别,使用带有function关键字的语法有什么好处吗?
(2个答案)
2年前关闭。
在展示如何创建高阶组件时,大多数示例都使用function关键字。
以下来自React文档的示例:
function logProps(WrappedComponent) {
return class extends React.Component {
componentWillReceiveProps(nextProps) {
console.log('Current props: ', this.props);
console.log('Next props: ', nextProps);
}
render() {
// Wraps the input component in a container, without mutating it. Good!
return <WrappedComponent {...this.props} />;
}
}
}
在我工作的地方,我们使用TypeScript,并且有TS-lint规则不使用function关键字。
因此,高级版本组件的JS版本将如下所示:
export const collapse = (options) =>
(Trigger) =>
class C extends React.Component {
}
问题是:有什么区别,使用带有function关键字的语法有什么好处吗?
最佳答案
在您的情况下,没有区别-它们的行为相同。
但在某些情况下并非如此-关于此主题有一个很好的discussion。
关于javascript - 高阶组件:function关键字vs arrow function ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44669767/
10-13 00:17