react 要如何在dangerouslySetInnerHTML里面调用onclick

handleClick(){
        console.log('handleClick');
    }

    render() {
        let callhtml = `<div className="content-pop">
                      <p>test</p>
                      <div onClick={e => this.handleClick(e)}>确认</div>
                  </div>`;
        return ( 
            <div className="lottery-pop" dangerouslySetInnerHTML={{__html: callhtml }}>
                  
            </div>
        );
    }

callhtml : 将被改成组件的prop

这样子调用,无法调用onClick

图片描述

阅读 4.8k
2 个回答

dangerouslySetInnerHTML 里的html不受react管理你只能在setState的回调里去获取dom来绑定事件

为什么要用dangerouslySetInnerHTML呢?这是一个问题。我们不允许使用这个属性

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题