javascript(ReactJS),如何执行函数的引用
如果我想在javascript(ReactJS),如何执行函数的引用,javascript,reactjs,Javascript,Reactjs,如果我想在onClick中使用一个函数,例如 handleSort = (items) => () => { console.log('now') } *使用ReactJS和语义UI <Table.HeaderCell onClick={this.handleSort(items)} > 那么,如何在onClick事件之外执行此函数?什么不起作用: componentDidMount() { this.handleSort.call(items);
onClick
中使用一个函数,例如
handleSort = (items) => () => {
console.log('now')
}
*使用ReactJS和语义UI
<Table.HeaderCell
onClick={this.handleSort(items)}
>
那么,如何在onClick事件之外执行此函数?什么不起作用:
componentDidMount() {
this.handleSort.call(items);
this.handleSort(items);
}
handleSort
返回一个函数,您需要使用()
调用它,如下所示:
componentDidMount() {
this.handleSort(items)();
}
我猜您正在尝试执行将“now”记录到控制台的内部函数 作为澄清:
this.handleSort(items)
返回一个匿名函数:
()=>{
console.log('now')
}
为了调用它,您可以执行:this.handleSort(items)(
以立即调用内部函数
见:
var handleSort=(项目)=>()=>{
console.log('now')
}
//保存内部功能部件
var innerFunction=handleSort([]);
log(innerFunction.toString());
//直接调用它的等效方法
innerFunction();
handleSort([])()代码>一点也不,只是一个简单的疏忽:)您得到了答案,但据我所知,这并不是通过引用使用函数。您正在这里执行函数。因此,每当呈现Table.HeaderCell
时,每次都会重新创建此函数。如果您这样做是为了使用项
作为参数,那么可能有更好的方法。例如,如果项
处于您的状态或来自道具,您可以直接使用它,而不是使用curry函数。