如果我在React类组件中有以下代码:
<svg viewBox="-100 -100 600 500" id='renderName' >
<Initial value={this.props.value.substring(0,1)} />
</svg>
我似乎只能从容器svg中触发onClick事件,而不是从&#39; Initial&#39;组件I渲染。
E.g。
<svg viewBox="-100 -100 600 500" id='renderName' onClick={this._onButtonClick} >
^工作
<Initial value={this.props.value.substring(0,1)} onClick={this._onButtonClick} />
^没有用
知道为什么会这样吗?是否与“onClick&#39;作为道具传递而不是调用函数?
作为更新:Initial
正在另一个组件中呈现。在这个组件上,我想用onClick调用一个函数。
答案 0 :(得分:2)
Initial
是一个组件,而不是一个元素,因此您应该将此组件获取的onClick
属性传递给它呈现的实际元素:
class Initial extends React.Component {
render() {
return <rect
...
...
onClick={this.props.onClick}
/>
}
}