如何在React / Jsx中的渲染器中调用函数

我想在一些嵌入式html中调用一个函数。我尝试了以下操作,但未调用该函数。这是在render方法内调用函数的错误方法吗?

import React, { Component, PropTypes } from 'react';

export default class PatientTable extends Component {
      constructor(props) {
        super(props);
        this.state = { 
         checking:false
      };
        this.renderIcon = this.renderIcon.bind(this);
  }

  renderIcon(){
    console.log("came here")
    return(
      <div>Function called</div>
    )
  }

  render() {

   return (
       <div className="patient-container">

       {this.renderIcon}      

      </div>
   );
 }
}
西里Near2020/04/07 11:12:46

解决的方法是接受的答案。但是,如果有人想知道它为什么起作用以及为什么SO问题中的实现不起作用,

首先,函数是JavaScript中的一流对象这意味着它们像其他任何变量一样被对待。函数可以作为参数传递给其他函数,可以由另一个函数返回,也可以作为值分配给变量。在这里阅读更多

因此,我们使用该变量在末尾添加括号() 调用该函数

一件事,如果您有一个返回函数的函数,而您只需要调用该返回的函数,则在调用外部函数()()时,您可能会遇到双重假名。

斯丁2020/04/07 11:12:46

要调用该函数,您必须添加 ()

{this.renderIcon()}