我想避免手动将onClick
属性添加到我的自定义组件中。
为此,我想到了一个名为的高阶组件WithClick
,它将用集成onClick
属性包装我的组件。
我面临的问题是,为了包装它,我必须使用额外的<div />
标签来访问事件属性。这个标签搞乱了我的 CSS。
例子 :
import React, { Component } from 'react'
const WithClick = (WrappedComponent) => {
class BaseComponent extends Component {
render () {
return (
<div onClick={this.props.onClick}>
<WrappedComponent {...this.props} />
</div>
)
}
}
return BaseComponent
}
export default WithClick
解决方案是 hack,允许将 onClick 事件附加到<React.Fragment />
标签或类似的东西。
我尝试将 ref 附加到孩子身上,但它不起作用,我必须对待孩子中的 ref props,所以这样做没有意义。