0
class Button extends React.Component{
renderAnchor(){
return <a onClick={this.props.onClick}>{this.props.children}</a>
}
renderButton(){
return <button onClick={this.props.onClick}>{this.props.children}</button>
}
render(){
return (this.tagName==='a')?this.renderAnchor():this.renderButton();
}
}
我已經在上述反應組分,我想避免代碼冗餘,所以,我決定通過更換標記名,以除去所有渲染除了最後一個(render
)方法by this.props.tagName
反射傳遞標記名字符串道具被渲染
render(){
return <{this.props.tagName} onClick={this.props.onClick}>{this.props.children}</{this.props.tagName}>
}
但是,它會引發語法錯誤。
如何在react/ES7/Babel中使用標記名的反射?