2017-05-29 9 views
0

入力フィールドの1つに値が入力されているかどうか検証するシナリオがあります。入力フィールドの1つが入力されているかどうかを確認します

各入力フィールドのOnBlurイベントで値を取得して状態を設定し、その間に入力ボックスのいずれかに値があるかどうかをチェックし、inputIsReq状態を設定します。そして、私は各テキストフィールドの必須の属性でそのinputIsReqを使用します。この変更後、私のページは本当に遅くロードされ、検証も行われません。これを修正するための任意のアイデア?

+0

あなたが提供している全てのこのコードの最初は全く動作しません 生産{' '' {レンダリングされませ 2.それがスローされます構文エラー '構文エラー:隣接するJSX要素を囲むタグにラップする必要があります。 ' 最初に明白なエラーを修正してください。 –

+0

偶然の間違いで、実際のコードが変更されていました。今すぐ修正してください。指摘してくれてありがとう。 – Anna

+0

)レンダリング()関数から1つのノード(隣接するJSX要素を囲むタグにラップする必要があります)を返す必要があります –

答えて

1

コールバックとして渡す代わりにchangeInputValueメソッドを呼び出すため、コードが低速で実行されています。

これはchangeInputValueを呼び出します:

間違っ:

は訂正:例Abowe onBlur={() => this.changeInputValue("input_4_value", this)}

は、コールバックとしてchangeInputValueを渡します。

次のことができますまた、 onBlur={changeInputValue}が、その後、あなたはあなたがこのことは状態を変更したため、ループにchangeInputValueを呼び出した後、コンポーネントの再描画されたというように...た

をコールバックするために、任意のparamsを渡すことはできませんだったにも1.)(レンダリング `...コンソールに警告

warning.js:36 Warning: setState(...): Cannot update during an existing state transition (such as within render or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to componentWillMount.

+0

ありがとうございました – Anna

関連する問題