ReactでCSSスタイルを動的に変更する2つの方法の詳細な説明

ReactでCSSスタイルを動的に変更する2つの方法の詳細な説明

最初の方法: デモとしてボタンをクリックしてテキストを表示または非表示にするクラスを動的に追加します

'react' から React、{ Component、Fragment } をインポートします。
'./style.css' をインポートします。
クラスDemoはComponentを拡張します{
    コンストラクタ(props) {
        スーパー(小道具);
        この状態 = {
            表示: 真
        }
        this.handleshow = this.handleshow.bind(this)
        this.handlehide = this.handlehide.bind(this)
    }
    与える() {
        戻る (
            <断片>
                スタイルを変更するためにクラスを動的に追加する*/
                <p className={this.state.display?"active":"active1"}>あなたは私の唯一の人です</p>
                <button onClick={this.handlehide}>クリックして非表示にする</button>
                <button onClick={this.handleshow}>クリックして表示</button>
            </フラグメント>
        )
    }
    ハンドルショー() {
        this.setState({
            表示:true
        })
    }
    ハンドル非表示() {
        this.setState({
            表示:偽
        })
    }
}
デフォルトのデモをエクスポートします。

CSSコード:

 。アクティブ{
      表示: ブロック;
  }
  .アクティブ1{
    表示: なし;
  }

2番目の方法: デモとしてボタンをクリックしてテキストを表示または非表示にするスタイルを動的に追加する

'react' から React、{ Component、Fragment } をインポートします。
クラスDemoはComponentを拡張します{
    コンストラクタ(props) {
        スーパー(小道具);
        この状態 = {
            表示2: 真
        }
        this.handleshow2 = this.handleshow2.bind(this)
        this.handlehide2 = this.handlehide2.bind(this)
    }
    与える() {
        定数ディスプレイ2 = {
            display:this.state.display2 ? 'ブロック' : 'なし'
        }
        戻る (
            <断片>
                 スタイルを変更するには、スタイルを動的に追加します*/
                 <p style={display2}>あなたは私の唯一の人です</p>
                <button onClick={this.handlehide2}>クリックして 2 を非表示にする</button>
                <button onClick={this.handleshow2}>クリックして 2 を表示</button>
            </フラグメント>
        )
    }
    ハンドルショー2() {
        this.setState({
            表示2:true
        })
    }
    ハンドル非表示2() {
        this.setState({
            表示2:偽
        })
    }
}
デフォルトのデモをエクスポートします。

要約: クラスを使用して CSS スタイルを変更すると、動的に変更される複数の CSS 属性を記述でき、見た目がすっきりします。スタイルを使用して複数の CSS 属性を記述すると、見た目が複雑になります。これらはすべて個人的な意見ですので、不備があれば指摘してください

これで、React で CSS スタイルを動的に変更する 2 つの方法についての説明は終了です。React で CSS スタイルを動的に変更する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Reactは感情を使ってCSSコードを書く
  • Reactプロジェクトのパッケージ化に基づくCSS参照パスエラーの解決策
  • React は CSS を使用して React アニメーション関数の例を実装します。
  • React で CSS を使用する 7 つの方法 (最も完全な要約)
  • Create React App で CSS モジュールを使用する方法の例
  • create-react-app で CSS モジュールを使用するためのサンプル コード
  • create-react-app を使用して CSS モジュール、SASS、および ANTD を追加する詳細な説明
  • ReactJs の CSS スタイル設定方法
  • ReactでCSSをエレガントに書く方法

<<:  Docker データ ストレージ ボリュームの詳細な説明

>>:  JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明

推薦する

Node.js+expressメッセージボード機能実装例

目次メッセージボード必要なライブラリオープンソースプロジェクトプロジェクト構造メッセージボードnod...

Docker のインストールと構成イメージの高速化の実装

目次DockerバージョンCentOS に Docker エンジンをインストールするシステム要件古い...

流星効果を実現する JavaScript キャンバス

この記事では、JavaScriptキャンバスで流星の特殊効果を表示するための具体的なコードを参考まで...

完全バックアップとポイントインタイムバックアップにmysqldumpを使用する方法

Mysqldump は MySQL の論理バックアップに使用されます。高速ではありませんが、柔軟性が...

ウェブページを作るときに知っておくべきいくつかのスキル

1. IE6 では z-index が無効です。 CSS では、階層を変更するために z-index...

vue-router からのフロントエンドルーティングの 2 つの実装

目次モードパラメータハッシュ履歴ハッシュ履歴.push()ハッシュ履歴.replace()アドレスバ...

nginx で Vue プロジェクトをデプロイする方法

今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...

DockerコンテナにRedisをデプロイする手順の紹介

目次1 つの Redis 設定ファイル2 Dockerコマンドの開始3 docker-compose...

MySQLのデフォルトのソートルールに基づく落とし穴

MySQL のデフォルトの varchar 型は大文字と小文字を区別しません (insensitiv...

MySQL の frm ファイルからテーブル構造を復元する 3 つの方法 [推奨]

mysql が正常に実行されている場合、テーブル構造を表示することは難しくありません。しかし、場合...

Linux ファイアウォールの状態確認方法の例

Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...

Ubuntu 20.04 Firefox でビデオを再生できない (Flash プラグインがない) 場合の解決策

1. Flashプラグインパッケージのダウンロードアドレス: https://get.adobe.c...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

HTMLは正規表現を使用してテーブルの例をテストします

以下は、HTML で正規表現を使用してテーブルをチェックするサンプル コードです。具体的なコードの内...

Vueプロジェクトでlessを使用するためのヒント

目次序文1. スタイルの浸透1. パターン浸透とは何ですか? 2. 使い方は? 2. ミキシング1....