2016-12-18 5 views
1

フォームタグの使用は、ページをリフレッシュするデフォルトの動作が機能よりも障害となるSPAでは特に重複しているようです:いつもデフォルトの動作を防ぐためにe.preventDefault()を書くだけのタグを含めるのはなぜですか? usedフォーム固有のイベントや動作を処理するHOC入力タグを持つReactJSで<form>タグを使用する必要がありますか?

フォームの動作は、入力タグ、ローカルコンポーネント/アプリケーションの状態とメソッドの組み合わせで処理できます。

フォーム送信は、入力/制御された入力そのもののハンドラから処理され、中央フォーム送信メソッドを呼び出すことができます。

私は動的フォームコンポーネントを作成するときにこれを試しました(入力とタイプはオブジェクトから動的に構築されます)。

私の質問は次のとおりです。入力タグを持つなどのonChange、onClickのようなイベントとイベントの大半を扱うにonKeyDown HOCsとして設定されている状況を考えると(フォームのような者の入力したキーが押されたときに提出するなどのイベントを提出) 、その値の状態によって制御され
はReactJS内のフォームを構築するための フォームタグの使用を省略することは悪い考えである理由として何らかの理由がありますか?入力フォーカスがあるときをEnterキーを押したときに<form>タグを使用して

+0

React内でVirtual DOMとSyntheticイベントで動作を効果的に偽装していない場合は、重複していますか。私が入力の制御されたコンポーネントであれば、入力タイプごとに動的に割り当てられた検証の使用が可能になり、フォームからの既存の動作を含めれば、フォームタグは冗長であると感じます。 – Pineda

答えて

3

フォームの送信と同様に、あなたの自動フォームの動作を提供します。フォームタグを避けることによるメリットはありません。

+0

onEnterは、入力状態とイベントを管理するために行った入力のHOCを作成することで追加できます。この場合、フォームタグは必要でしょうか? – Pineda

+0

無料で入手できる動作を不十分かつ手動で再作成するのはなぜですか? –

+0

制御された入力のラッパーに独自のKeyイベントハンドラーを定義するのは "不良"ですか?同じキーハンドラは、一度に検証を処理し、すべてを単一のonSubmitに書き込む必要はありません。 – Pineda

関連する問題