【问题标题】:In react, what is the difference between calling functions with and without parentheses?在反应中,调用带括号和不带括号的函数有什么区别?
【发布时间】:2017-09-04 03:29:51
【问题描述】:

我只是在编写一段代码来更新父组件的状态。这段代码:

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

设法更新了父母的状态,就像这个

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

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

【问题讨论】:

  • 你在这里调用它的方式与它在 React 中的使用方式无关。你有一个函数调用和一个(可能)nil 属性。
  • 如果你没有括号,那么你根本就没有调用这个函数。 (不是语法错误,原因与将 "test"; 单独放在一行本身也不是语法错误的原因相同,但仅仅因为某些东西在语法上有效并不意味着它会做你想要的。)
  • 从父组件添加count定义

标签: javascript reactjs react-native


【解决方案1】:

您所做的只是引用了您作为道具传入的函数,您还没有尝试执行它。你所做的与你所做的没有什么不同:

let count = 6;
count

第二行将毫无用处,就像您只是使用 this.props.count 而不是实际使用 this.props.count() 调用函数时一样

【讨论】:

    猜你喜欢
    • 2020-04-17
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2021-06-29
    相关资源
    最近更新 更多