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

小卤蛋 · 04月07日

我想在一些嵌入式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>
   );
 }
}
回答(2)
时间
P
Pro
2 · 2020-04-07 11:12:46

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

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

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

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

斯丁
1 · 2020-04-07 11:12:46

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

{this.renderIcon()}   

你的回答

加载中...
⌘+Return 发表
发表

温馨提示:登录后可发表评论或回复

关闭,朕知道了

扫码关注微信公众号或小程序