1
私は反応が新しく、ちょっと醜いコードを書きました。誰かが私にそれをするよりよい方法を示すことができますか?ここでは擬似コードです:Reactコンポーネントの条件付き属性?
let btn;
if(this.props.href && !this.props.onClick && !this.props.dataMsg etc...)
btn = <a href={this.props.href}>{this.props.text}</a>;
else if(!this.props.href && this.props.onClick && !this.props.dataMsg etc...)
btn = <a onClick={this.props.onClick}>{this.props.text}</a>;
etc...
else if(this.props.href && this.props.onClick && !this.props.dataMsg etc...)
btn = <a href={this.props.href} onClick={this.props.onClick}>{this.props.text}</a>;
else if(!this.props.href && this.props.onClick && this.props.dataMsg etc...)
btn = <a onClick={this.props.onClick} data-msg={this.props.dataMsg}>{this.props.text}</a>;
etc...
言い換えれば、私は反応するコンポーネントがそれのために小道具を受けた場合にのみ、<a>
要素の属性を設定します。しかし、反応成分のすべての小道具が属性であることを意図するものではなく、その一部はinnerHTMLに属するthis.props.text
である可能性がある。
私が欲しいものを書くのはあまり冗長ではありませんか?