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();
}
}
zu erbringenden Ich habe die oben reagieren Komponenten, ich möchte Code Redundanz vermeiden, so entscheide ich alle Methoden mit Ausnahme der letzten machen zu entfernen (render
) durch den Tag-Namen zu ersetzen durch this.props.tagName
Reflexion tagName passieren als String Requisiten
render(){
return <{this.props.tagName} onClick={this.props.onClick}>{this.props.children}</{this.props.tagName}>
}
wirft jedoch ein Fehler der Syntax.
Wie kann Reflexion von Tagname in reagieren/ES7/Babel?