2017-06-25 9 views
1

あなたはどのようにフォーム提出を行いますか?私はフォームを作るのに問題はないが、2つの異なるアプローチを見た。個人的に私は、別のアプローチは、REFを使用している私はそれが働いていたが、わからない、これは良いアプローチです。このthis.refsとフォームの使用のための反応の値

handleInputChange =() => (
    const username = e.target.username.value; 
) 

を行います入力値を取得するために

<input onChange={this.handleInputChange} value={this.state.username} type="text" name="username" /> 

フォーム値をバインドするために状態を使用しています。

良いことは、単にこの

this.refs.username.value 

を行うと、あなたはこの<input ref="username" type="text" />

しかし、どのようにユーザー名の値を設定したいとウル要素を持っているのonSubmitで、すべてのフィールド上のonChangeを置く必要はありません最初の負荷がajaxの場合は?

+0

を持つように入力したい場合、あなたは10個のフィールドを持っている想像REF –

答えて

0

onChange(一方向バインディング)を使用することの良い点は、入力データを完全に制御できることです。

言って、あなただけのアルファベット

handleInputChange =() => (
    // you can have validation code here to check if the 
    // input has only alphabets and return if otherwise 
    const username = e.target.username.value; 
) 
+0

によって値にアクセスしたいときは、初期値を設定するためにはdefaultValueを使用することができ、あなたは10種類のハンドラを持っている必要があります? –

関連する問題