我有一个 React 组件,它根据状态呈现<ul>
和插入元素。<li>
class SimpleComponent extends React.Component {
constructor(props) {
this.state = { menu_items: [name: "First", id: 10] }
this.clickMenu = this.clickMenu.bind(this)
}
generateLinks() {
let to_return='';
for (var i=0;i<this.state.menu_items.length; i++) {
to_return = to_return + `<li><a onclick={clickMenu}> ${this.state.menu_item[i]['name']} </a></li>`
}
return to_return;
}
clickMenu(e) {
console.log(e.target)
}
render() {
return(
<ul dangerouslySetInnerHTML={this.generateLinks()}></ul>
)
}
}
当我单击 Anchor 时,控制台显示 Uncaught ReferenceError: clickMenu not defined。我尝试使用 this.clickMenu 代替,但没有任何反应。我注意到渲染的锚看起来像:
<a onclick="{menuClick}">
有没有办法创建这些锚元素让 React 获取 onClick 定义,而不是将它们传递给浏览器进行解释?