用于将click事件处理程序附加到通过dangerouslySetInnerHTML注入的链接的模式

时间:2017-08-24 02:57:25

标签: javascript reactjs

所以我们通过dangerouslySetInnerHTML注入HTML内容。是否有关于将onclick事件处理程序附加到注入的HTML中的所有链接的良好模式的想法?或者,我应该在React之外使用逻辑来处理这个吗?

1 个答案:

答案 0 :(得分:1)

这是一种方法,但 dangerouslySetInnerHTML 仅适用于渲染普通html。这意味着您的链接应该重定向,因为所有普通链接都使用纯HTML。
无论哪种方式,这都是@zerkms所说的 例如

class MyComponent extends Component {
  showEvent(e) {
    console.log('the event:');
    console.log(e.target.id); //someDiv

  }
  someHtml() {
    return {__html: `<div id="someDiv" style="background-color:yellow;"> First Second </div>`}; 
  }
  render() {
    return <div onClick={this.showEvent} dangerouslySetInnerHTML={this.someHtml()}></div>;
  }
}

在showEvent中,你可以验证id并采取一些行动 希望这有帮助。