JavaScript(ReactJS),如何执行函数的引用?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (515)

如果我有一个我想在a中使用的功能onClick,比如这个

*使用ReactJS和Semantic-UI

<Table.HeaderCell
  onClick={this.handleSort(items)}
>

其中函数返回函数的引用,例如this

handleSort = (items) => () => {
    console.log('now')
}

那么,如何在onClick事件之外执行此函数?什么行不通:

componentDidMount() {
    this.handleSort.call(items);
    this.handleSort(items);
}
提问于
用户回答回答于

handleSort返回一个函数,需要调用它(),如下所示:

componentDidMount() {
    this.handleSort(items)();
}
用户回答回答于

我猜你正在尝试执行将“现在”记录到控制台的内部函数

作为澄清:this.handleSort(items)返回一个匿名函数: () => { console.log('now') }

为了调用它,您可以:this.handleSort(items)()立即调用内部函数。

看到:

var handleSort = (items) => () => {
  console.log('now')
}

// holds the inner function part
var innerFunction = handleSort([]);
console.log(innerFunction.toString());

// Equivalent ways to call it directly
innerFunction();
handleSort([])();

扫码关注云+社区

领取腾讯云代金券