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データベースリンクと関連メソッドのカプセル化の詳細な説明

推薦する

Vuexはセッションストレージデータを結合して、ページを更新するときにデータが失われる問題を解決します

目次序文1. 理由: 2. 解決策のアイデア: 1. ローカル保存方法: 2. 実装手順: 3. 最...

MySQL 5.7.17 winx64 のインストールと設定のグラフィックチュートリアル

MySQL のインストールに関する以前のメモを要約して、皆さんと共有しました。ステップ 1: mys...

Element-ui レイアウト (行と列コンポーネント) の実装

目次基本的な手順と使用方法行コンポーネントの分析レンダリング機能ソースコード分析Col成分の分析コン...

MySQL が my.cnf を読み込む順序の詳細

目次MySQLがmy.cnfを読み込む順序1. mysql.server の起動方法2. mysql...

よく使用される Linux コマンドの完全なリスト (推奨コレクション)

目次1. システム情報2. シャットダウン(システムのシャットダウン、再起動、ログアウト) 3. フ...

MySQLでSELECT文が実行される仕組み

目次1. マクロの観点からMySQLを分析する2. SQL ステートメントを実行するには、どの程度の...

tbodyタグの魔法はテーブルコンテンツの表示を高速化します

他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...

Nginx はリクエスト接続を統合し、ウェブサイトのアクセス例を高速化します

序文世界最高の Web サーバーの 1 つである Nginx の利点は明らかです。 Nginx がリ...

Firefox ブラウザでバックグラウンド ミュージックを再生するための究極のソリューション (Chrome マルチブラウザ対応)

FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...

MySQL 5.7 以降のバージョンのダウンロードとインストールのグラフィック チュートリアル

1. ダウンロード1. MySQL公式サイトのダウンロードアドレス: https://downloa...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 1

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

Vue でスクロールバーのスタイルを変更する方法

目次まず、スクロール バーのスタイルを変更するには、疑似要素-webkit-scrollbarを使用...

HTML <!--...--> コメントタグの役割の詳細な分析

多くのウェブサイトのソースコードを確認すると、多くのコメントが見つかります。特に、ソース文書にコメン...

この記事では、6つの負荷分散技術の実装方法をまとめます(要約)

ロード バランシングは、サーバー クラスタの展開でよく使用されるデバイスです。マシンのパフォーマンス...

MySQLはフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します

1例: 図1のフィールドを図2に分割するには アカウントIDを選択、 サブストリングインデックス(サ...