React は入力値を取得し、2 つのメソッドの例を送信します

React は入力値を取得し、2 つのメソッドの例を送信します

方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する

'react' から React をインポートします。
 
クラス InputDemo は React.Component を拡張します{
  状態 = {
    InputValue : "", //入力ボックスに入力した値};
 
  handleGetInputValue = (イベント) => {
    this.setState({
      入力値: イベントターゲット値、
    })
  };
 
  ハンドルポスト = () => {
    定数 {InputValue} = this.state;
    console.log(入力値、'------入力値');
    //ここで、ディスパッチの送信などの送信操作を実行します。};
 
  与える(){
    戻る(
      <div>
        <入力
          値={this.state.InputValue}
          onChange={this.handleGetInputValue}
        />
        <button onClick={this.handlePost}>送信</button>
      </div>
    )
  }
}
 
デフォルトの InputDemo をエクスポートします。

ここでの <input /> と <button /> はどちらも HTML タグです。もちろん、Antd の <Input /> および <Button /> コンポーネントを使用することもできます。その場合、内部の内容は変更されません。

まず、コンポーネント上部のstateにInputValue:"を定義し、下の<input />にvalue={this.state.InputValue}と記述します。onChangeイベントが削除されると、この時点では入力ボックスに何も入力できません。

React では、すべての状態は React の状態によって制御されるべきだと考えています。<input />、<textarea />、<select /> などの入力コントロールに値が設定されている限り、それらの値は常に設定された値に基づいて決まります。値が変更されていない場合は、値は変更されません。

React では、コンポーネントのコンテンツを更新するには setState が必要なので、入力ボックスの onChange イベントをリッスンして入力ボックスのコンテンツを取得し、setState を通じて状態の InputValue を更新する必要があります。そうすることで、<input /> のコンテンツがリアルタイムで更新されます。

DOM イベント オブジェクトのターゲット イベント属性を使用する onChange の handleGetInputValue メソッドについて説明します。

ターゲット イベント プロパティは、イベントを生成した要素、ドキュメント、ウィンドウなど、イベントのターゲット ノード (イベントをトリガーしたノード) を返します。

詳細については、W3C標準の概要を参照してください。

方法2: Reactのrefを使用してDOM要素にアクセスし、値を送信する

ステートレスコンポーネントの記述:

const InputDemo = () => {
  入力値を入力します。
  定数handlePost = (e) => {
    e.preventDefault() の場合;
    定数 valueTemp = 入力値.値;
    console.log(valueTemp, '------valueTemp');
    //ここで、ディスパッチの送信などの送信操作を実行します。};
 
  戻る (
    <div>
      <フォームonSubmit={handlePost}>
        <入力
          ref={入力 => 入力値 = 入力}
        />
        <button onClick={handlePost}>送信</button>
      </フォーム>
    </div>
  )
};
 
デフォルトの InputDemo をエクスポートします。

ステートフルコンポーネントの記述:

'react' から React をインポートします。
 
クラス InputDemo は React.Component を拡張します {
  ハンドルポスト = (e) => {
    e.preventDefault() の場合;
    定数 valueTemp = this.inputValue.value;
    console.log(valueTemp, '------valueTemp');
    //ここで、ディスパッチの送信などの送信操作を実行します。};
 
  与える() {
    戻る (
      <div>
        <フォームonSubmit={this.handlePost}>
          <入力
            ref={input => this.inputValue = 入力}
          />
          <button onClick={this.handlePost}>送信</button>
        </フォーム>
      </div>
    )
  }
};
 
デフォルトの InputDemo をエクスポートします。

Ref は、DOM 要素またはコンポーネント インスタンスに安全にアクセスするために React によって提供されるハンドルです。要素に ref 属性を追加し、コールバック関数で DOM ツリー内の要素のハンドルを受け入れることができます。このハンドルは、コールバック関数の最初のパラメーターとして返されます。

これら2つの記述方法に加えて、AntdのFormコンポーネントを使用してフォーム機能を実装することもできます。ポータル:ReactはAntdのFormコンポーネントを使用してフォーム機能を実装します

要約する

Reactで入力値を取得して送信する2つの方法についての記事はこれで終わりです。Reactで入力値を取得して送信することに関するより関連性の高いコンテンツについては、123WORDPRESS.COMで以前の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Reactプロジェクトでantdのフォームコンポーネントを使用して、入力ボックスの値を動的に設定する
  • antd をインストールした後、React で ''./locale'' を解決できない問題を解決する (推奨)
  • React は antd オンラインテーマの動的切り替えを実装します
  • Reactはantdオンデマンドロードの使用を設定します
  • create-react-app を使用して CSS モジュール、SASS、および ANTD を追加する詳細な説明
  • React は antd のアップロード コンポーネントを使用してファイル フォーム送信機能を実装します (完全なコード)

<<:  MySQL で URL タイムゾーンの罠を回避する方法

>>:  Nginx のインストールと設定ルールの詳細な紹介

推薦する

画像の下部の空白部分の問題を解決する

最近のプロジェクトに取り組んでいるとき、下の図に示すように、画像を参照すると常に下部に空白スペースが...

CentOS7でMySQL 5.7をアンインストールする方法

MySQLに何がインストールされているか確認する rpm -qa | grep -i mysql n...

Windows システムでの MySQL 8.0.21 インストール チュートリアル (図とテキスト)

インストールの提案: インストールには .exe を使用せず、圧縮パッケージを使用してください。これ...

MySQLで行または列をソートする方法

方法:説明: どちらも達成できません:方法1: sp_product から sp.productid...

Vue命令の動作原理と実装方法

Vue の紹介現在のビッグフロントエンドの時代は、混乱と衝突の時代です。世界は多くの派閥に分かれてお...

CentOS8 で Docker を使用してオープンソース プロジェクト Tcloud をデプロイするチュートリアル

1. Dockerをインストールする1. 仮想マシンに Centos7 をインストールしました。Li...

Tomcatc3p0 で jnid データ ソースを構成する 2 つの実装方法の分析

c3p0の使用c3p0jarパッケージをインポートする <!-- https://mvnrep...

Linux で PCIe のバージョンと速度を確認する方法

PCIE には 4 つの異なる仕様があります。下の図でそのうちの 2 つを見てみましょう。マザーボー...

CSS最適化スキルの自己実践体験

1. CSS スプライトを使用します。利点は、CSS で使用される小さな画像を 1 つの大きな画像に...

Mysql | ワイルドカード(%、_ など)を使用したファジークエリの詳細な説明

ワイルドカードのカテゴリ: %パーセント ワイルドカード: 任意の文字が任意の回数出現できることを示...

入力が完了したことを検出し、次のコンテンツを自動的に入力する HTML を実装する方法

前回の記事では、入力完了の簡単な検出を実現しましたが、今回はさらに一歩進んで、入力が完了した後に次の...

React における ref の一般的な使用法の概要

目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....

Centos7.2 で mysql5.7 データベースをインストールするための詳細な手順

サーバー上の mysql はバージョン 8.0.12 でインストールされており、ローカルのものはバー...

Vue+Elementバックグラウンド管理フレームワークの統合実践

目次Vue+ElementUI バックグラウンド管理フレームワークでは、ElementUI とは何で...

nginx httpモジュールのデータ保存構造の概要

このセクションから、http モジュールの実装原理について説明します。http モジュールで非常に重...