Reactでclsxを使用する方法

ミルポート:

Reactのコンポーネントにクラス名を割り当てる際のclsxのいくつかの使用法を理解しようとしています。

構成

className={clsx(classes.menuButton, open && classes.hide)} 

十分に明確です。「classes.menuButton」を適用し、ブール値「open」の値がtrueの場合は「classes.hide」も適用します。

私の質問は、この2番目の例に関連しています。

className={clsx(classes.appBar, {[classes.appBarShift]: open })}

これにより、「classes.appBar」が適用されます。しかし、2番目のパラメーターの意味は何ですか?

Dupocas:

clsx 与えられた条件を適用するために一般的に使用されます className

この構文は、特定の条件が次のように評価された場合にのみ適用されるクラスがあることを意味します true

const menuStyle = clsx({
    [classes.root] : true, //always apply
    [classes.menuOpen] : open //only when open === true
})

この例[classes.menuOpen](のように評価されるrandomclassName123)では、次の場合にのみ適用されますopen === true


clsx基本的にstring補間を実行するのでクラスを条件付きで適用するために必ずしもそれを使用する必要はありません。公式ドキュメントで確認できる多くのサポートされている構文があります

の代わりに

<div className={`${classes.foo} ${classes.bar} ${classes.baz}`} />

こんな風に使えます

const { foo, bar, baz } = classes
const style = clsx(foo, bar, baz)

return <div className={style} />

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

TOP 一覧

  1. 1

    Oracle11gクライアントを使用したOracle19Cサーバーへの接続

  2. 2

    Ansibleで複数行のシェルスクリプトを実行する方法

  3. 3

    Reactでclsxを使用する方法

  4. 4

    Google Cloud Storage から単一ページの React アプリを提供する

  5. 5

    App Engineクイックスタートから「helloworld.go」をアンデプロイし、代わりにバケット内のhtmlをポイントするにはどうすればよいですか?

  6. 6

    LaravelはDB接続を自動的に閉じますか?

  7. 7

    print( "\ 0007")がビープ音を鳴らさないのはなぜですか?

  8. 8

    小さいデータセットサイズと大きいデータセットサイズを使用するMPI_Gatherを使用したMPI_Barrier?

  9. 9

    フィルタスライダーで複数の範囲を選択します-Tableau

  10. 10

    Eclipseエラー:ビルドパスが不完全であると表示されます

  11. 11

    Python / SciPyのピーク検出アルゴリズム

  12. 12

    複数の条件でループを構築する

  13. 13

    Angular 9 TypeError:未定義のプロパティ「subscribe」を読み取れません

  14. 14

    Openlayers 3 : Interaction DragBox が機能しない

  15. 15

    JavaからのMATLAB関数によりランタイムエラーが発生する(EXCEPTION_ACCESS_VIOLATION)

  16. 16

    JavaのREST APIの認証、JWTとベストプラクティス

  17. 17

    Hibernate5への移行

  18. 18

    PipedInputStream-「java.io.IOException:Pipe broken」を回避する方法

  19. 19

    Eclipseに既存のJavaプロジェクトをインポートしますが、JFrameのデザインビューが存在しませんか?

  20. 20

    Ubuntuでmatplotlibプロット(およびその他のGUI)を表示する(WSL1およびWSL2)

  21. 21

    なぜArrays.copyOfは2倍高速System.arraycopyのより小さなアレイ用のでしょうか?

ホットタグ

アーカイブ