У меня есть компонент 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>
)
}
}
Когда я нажимаю на якорь, консоль показывает Uncaught ReferenceError: clickMenu не определено. Вместо этого я пытался использовать this.clickMenu, но ничего не происходит. Я заметил, что визуализированный якорь выглядит так:
<a onclick="{menuClick}">
Есть ли способ создать эти элементы привязки, чтобы React подбирал определения onClick, а не передавал их в браузер для интерпретации?
clickMenu
изgenerateLinks
и не сделать его собственным элементом-прототипом? Тогда вы можете просто использовать его какthis.clickMenu
- person Andrew   schedule 20.12.2017