React でクラス属性を条件付きで適用する
概念的には、要素を条件付きでレンダリングすることは、React の一般的な使用例です。ただし、クラス属性を考慮すると疑問が生じます。この記事では、実際の例を使用してクラス属性を条件付きで適用する方法を説明します:
質問:
ユーザーは、次の条件に基づいてボタン グループの表示/非表示を切り替えようとしています。親コンポーネントから渡されるブール値。ただし、クラス属性は正しく評価されません。
<code class="jsx"><div className={"btn-group pull-right " + (this.props.showBulkActions ? 'show' : 'hidden')}></code>
回答:
問題は、式を囲む中括弧の配置にあります。次のように、文字列の内側ではなく、括弧とともに外側に置く必要があります。
<code class="jsx"><div className={"btn-group pull-right " + (this.props.showBulkActions ? 'show' : 'hidden')}></code>
中括弧を文字列の外側に配置すると、式は静的な文字列ではなく JavaScript コードとして評価されます。 。これにより、this.props.showBulkActions のブール値に基づいて正しいクラスを適用できるようになります。
さらに、クラス属性が適切に適用されるように、「pull-right」の後にスペースが追加されます。スペースがないと、「pull-right show」ではなく「pull-rightshow」など、無効なクラスが作成される危険性があります。
以上がReact でクラス属性を条件付きで適用する方法: ボタン グループの表示/非表示切り替えが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。