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トランザクション操作の失敗を解決する方法

推薦する

React Hooks の一般的な使用シナリオ (概要)

目次1. ステートフック1. 基本的な使い方2. 更新3. 合併を実現する4. 遅延初期化状態5. ...

Docker Composeでコンテナ管理の問題を解決する

Docker の設計では、コンテナは 1 つのアプリケーションのみを実行します。しかし、現在のアプリ...

Alibaba Cloud Docker Yum ソースを使用した Docker 17.03.2 の CentOS7 オンラインインストールの詳細説明

参照ドキュメント公式 Docker インストール ドキュメント: https://docs.dock...

MySQL 悲観的ロックと楽観的ロックの実装

目次序文実際の戦闘1. ロックなし2. 悲観的ロック3. 楽観的ロック要約する序文悲観的ロックと楽観...

Ubuntu 18.04にMySQL 5.7をインストールする

この記事は MySQL 公式サイトを参考にしてまとめたものであり、遭遇したいくつかの問題も記録されて...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

RedisとMemcacheの比較と選び方

最近 redis を使っていて、とても便利だと感じているのですが、インメモリ データベースを選択する...

HTML 5のドラフトは正式な標準にはならなかった

<br />昨日、W3C で新しいHTML 5 ドラフト (ワーキング ドラフト) が ...

JS WebSocketを使用して簡単なチャットを実装する方法

目次ショートポーリングロングポーリングウェブソケットコミュニケーションの原則シンプルな1対1チャット...

JavaScriptクロージャの原理と機能の詳細な説明

目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...

Vue がコンポーネント通信を実装する 8 つの例

目次1. Props 親コンポーネント ---> 子コンポーネント通信2. $emit 子コン...

Linuxの運用と保守の基本プロセス管理と環境構成分析

目次1. プロセスの基本的な概要2. プロセスの構成要素3. プロセス環境4. プロセスステータス5...

Nginx 急ぎ購入 電流制限構成 実装分析

ビジネス上のニーズにより、急ぎの購入が発生することが多いため、ロード バランシング フロント エンド...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

yum から docker インストール パッケージをダウンロードし、オフライン マシンにインストールする例の詳細なコード

1. ネットワークマシンでは、デフォルトのcentosyumソースを使用します [root@kole...