现在需要做一个埋点组件SA,用于采集用户点击行为。大概如下标题当用户点击h1时,控制台输入666要求SA不能返回额外的html,只能返回children,也就是说SA本身没有click事件,但是要劫持子元数的click事件//大概伪代码functionSA({children,name}){returnchildren.map(child=>{letonNewClick=(e)=>{letonClick=child.onClickconsole.log(name)onClick&&onClick(e)}child.props.onClick=onNewClickreturnchild})}以上伪代码,根本不行,只是让看官能够明白。之前通过React.cloneElement解决了,至少功能能执行,但是造成其他问题。在线等解决方案
2 回答
MMTTMM
;
TA贡献1869条经验 获得超4个赞
标题
;classSAextendsComponent{constructor(props){super(props);}childClick(){console.log(666);}render(){const{children}=this.props;return{children}
}}//我理解就是一个插槽吧.不知是否理解正确