Reactはラジオコンポーネントのサンプルコードを実装します

Reactはラジオコンポーネントのサンプルコードを実装します

この記事の目的は、最も明確な構造を使用していくつかのコンポーネントの基本機能を実装することです。皆さんと一緒に学び、成長していきたいと思います。

エフェクト表示:

テストコンポーネント:

クラス Test は Component を拡張します {
  コンストラクタ(props) {
    スーパー(小道具)
    この状態 = {
      アクティブ:1
    }
  }
  onGroupChange(値) {
    this.setState({
      アクティブ: 値
    })
  }
  与える() {
    戻る (
     <div>
      <ラジオグループ onChange={this.onGroupChange.bind(this)} active={this.state.active}>
         <Radio value={1}>残高で支払う</Radio>
         <Radio value={2}>WeChat Pay を使用する</Radio>
      </ラジオグループ>
      <ボタンのクリック={()=>{
             console.log("現在の選択は: "+this.state.active)
           }}>次へ</ボタン>
     </div>
      )
  }
}
デフォルトのテストをエクスポートします。

ラジオグループ:

React をインポートします。{ コンポーネント } から 'react' をインポートします。
クラスRadioGroupはComponentを拡張します{
  handleActiveChange(値) {
    console.log(`${value}が選択されました`)
    this.props.onChange(値)
  }
  与える() {
    戻る (
      <div>
        {
          React.Children.map(this.props.children, 子 => {
            isActive = this.props.active === child.props.value ? true : false とします
            React.cloneElement(child, { を返す
              ラベル: child.props.children,
              値: child.props.value、
              アクティブ: isActive、
              クリック時: this.handleActiveChange.bind(this)
            })
          })
        }
      </div>
    )
  }
}
デフォルトの RadioGroup をエクスポートします。

ラジオ.jsx:

React をインポートします。{ コンポーネント } から 'react' をインポートします。
「./radio.scss」をインポートします
クラスRadioはComponentを拡張します{
  与える() {
    戻る (
      <div className="radio-wrap" onClick={this.props.onClick.bind(this,this.props.value)}>
        <div className="左">
          <div className={`circle ${this.props.active === true ? 'active' : ''} `}>
            <div className="フォーク"></div>
          </div>
          <div className="label">{this.props.label}</div>
        </div>
      </div>
    )
  }
}
デフォルトのラジオをエクスポートします。

ラジオ.scss:

.radio-wrap {
  高さ: 40px;
  背景色: #ffffff;
  ディスプレイ: フレックス;
  アイテムの位置を中央揃えにします。
  パディング: 0px 30px;

  &:アクティブ {
    背景色: rgb(221, 221, 221);
  }

  。左 {
    表示: インラインブロック;

    。丸 {
      表示: インラインブロック;
      高さ: 22px;
      幅: 22px;
      ボックスのサイズ: 境界線ボックス;
      境界線: 1px 実線 #c5c9cd;
      境界線の半径: 50%;
      背景色: #ffffff;
      位置: 相対的;

      
    }
    。アクティブ{
      背景色: #1eb94a;
      .フォーク {
        高さ: 12px;
        幅: 5px;
        右境界線: 1.5px 実線 #ffffff;
        下境界線: 1.5px 実線 #ffffff;
        位置: 絶対;
        上位: 40%
        左: 50%;
        変換: 移動(-50%, -50%) 回転(45度);
      }
    }

    .ラベル {
      垂直方向の位置合わせ: 上;
      左マージン: 10px;
      表示: インラインブロック;
      高さ: 22px;
      行の高さ: 22px;
      フォントサイズ: 14px;
    }
  }
}

これで、React で Radio コンポーネントを実装するサンプル コードに関するこの記事は終了です。React で Radio コンポーネントを実装することに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Reactエラー境界コンポーネント処理
  • react setStateの詳細な説明
  • 簡潔なReactコンポーネントを書くためのヒント
  • React で setInterval 関数を使用する例
  • Andrew Ng の機械学習演習: SVM サポートベクターマシン

<<:  Linux のさまざまなロックメカニズムの使用方法と違いについて詳しく説明します

>>:  Mysqlトランザクション操作の失敗を解決する方法

推薦する

Dockerコンテナ間の通信と外部ネットワーク通信の操作

コンテナ間の通信1. コンテナのネットワーク共有このモードの Docker コンテナはネットワーク ...

Linux で実行中のすべてのプロセスを表示する方法

ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...

vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...

MySql クライアントが数秒で終了する問題を解決する (my.ini が見つからない)

問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...

jQuery で従業員管理登録ページを実装する

この記事では、従業員管理登録ページを実装するためのjQueryの具体的なコードを例として紹介します。...

MySQLクエリは、フィールドが数値とカンマではないことを指定します。

コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...

Webページ作成の質問: 画像ファイルのパス

この記事は 123WORDPRESS.COM Lightning によるオリジナルです。転載する際に...

Vue で className として空の文字列を使用することはなぜ推奨されないのですか?

目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する &#...

OCSP を有効にすると、https 証明書の検証効率が向上し、Let's Encrypt SSL 証明書へのアクセスが遅くなる問題が解決されます。

ここ数日、ウェブサイトを初めて開いたときにアクセスが非常に遅いのですが、その後はページが正常に開きま...

nginx「504 ゲートウェイタイムアウト」エラーを解決する

ウェブサイトを作成する学生は、アクセス時に一部の nginx サーバーが 504 Gateway T...

Vue は PDF.js を統合して PDF プレビューを実装し、透かしを追加する手順を実行します。

目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...

XHTML 3つの文書型宣言

XHTML は 3 つのドキュメント タイプ宣言を定義します。最もよく使用されるのは XHTML T...

JS 手ぶれ補正機能の実装と使用シナリオ

目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...

CSS で text-align と margin: 0 auto を使用して中央に配置する例コード

CSSでtext-align、margin: 0 autoを使用して中央揃えにするtext-alig...

LinuxテキストエディタVimの詳しい説明

Vim は強力なフルスクリーン テキスト エディターであり、Linux/UNIX で最も一般的に使用...