目前我在React中有一个页面,允许用户单击一个按钮。单击该按钮时,将调用一个函数,该函数在页面上的一个div中创建一些html。我希望创建的html包含一个按钮,单击该按钮会调用另一个函数(它只是向浏览器控制台输出一些内容)。这是我的代码:
callFunction() {
console.log('Button Added')
}
addHTML() {
document.getElementById('insertHTML').insertAdjacentHTML('beforeend',
'<button onclick="'+this.callFunction()+'" class=btn btn-info btn-block mt-2>Print</button>')
}
render () {
return (
<div>
<div id='insertHTML'>
</div>
<button onClick={()=> this.addHTML()}
className='btn btn-success btn-block mt-2'>
Add button</button>
</div>
)
}
现在,当创建按钮时,该功能会在渲染时立即打印到控制台,但在单击时不会执行任何操作。我希望它在创建html时不会自动运行,并且只在单击时运行。
谢谢
发布于 2019-05-29 10:06:54
您已经在渲染时调用该方法。改变这个 onclick="'+this.callFunction()+'"
至
onclick="'+this.callFunction+'"
https://stackoverflow.com/questions/-100006839
复制相似问题