如何将onClick函数传递到使用字符串文字创建的范围中?

时间:2019-05-02 16:24:01

标签: javascript reactjs

我有一个使用字符串文字创建的HTML对象,并使用了危险设置HTML。基本上,我只需要在创建字符串文字时创建span并传递onClick,但是当我传递在构造函数中绑定的函数时。后来我得到一个错误,它不是一个函数。在React中使用字符串文字创建HTML对象时,如何在onClick中传递函数? 该HTML在render()中进行了危险设置。

var html=`<span onClick="myFunc()">${text}</span>`;

2 个答案:

答案 0 :(得分:0)

这只是一个字符串,不能在其上放置eventListerner。

或声明这样的DOM元素

var MySpan = Document​.create​Element('span');
MySpan.textContent = text;
MySpan.onclick = myFunc;


//....

function myFunc() {
  alert('span clicked !');
}

答案 1 :(得分:0)

您可以这样做:var html = {text}。 现在'html'可以作为邮件组件中的纯组件被起诉以在DOM中呈现,但是在这里this.myFunc是错误的,因为纯组件本身不会承载任何作用域,您必须将函数作为prop传递或为此使用HOC

为了更加清楚起见,请仔细阅读一下react的纯组件文档:react pure component