2017-09-04 38 views
-1

我只是写了一段代码来更新父组件的状态。这段代码:在反应中,带括号和不带括号的调用函数有什么区别?

handlePress() { 
    this.props.count(); 
    this.setState({completed: true}); 
}; 

管理更新父的状态,在这一个

handlePress() { 
    this.props.count; 
    this.setState({completed: true}); 
}; 

没有。因此,带括号和不带括号的调用函数有什么区别?

+0

的方式将功能在这里调用它与它在React中的使用方式无关。你有一个函数调用和一个(可能)零属性。 – jmargolisvt

+3

如果你没有括号,那么你根本没有*调用*函数。 (不是一个语法错误,出于同样的原因,比如在一行上放上'“test”;'也不是语法错误,而仅仅是因为某些语法上的有效并不意味着它会做你想做的事) – nnnnnn

+0

从父母组合中增加'count'定义 –

回答

0

你所做的全部都是引用你作为道具传入的函数,但你并没有试图执行它。你所做的没有什么不同比,如果你做了这一点:

let count = 6; 
count 

这第二条线将是无用的,因为当你简单地使用this.props.count,而不是实际调用带有this.props.count()

相关问题