問題タブ [use-ref]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
998 参照

reactjs - インライン参照ではなく useRef または createRef を使用する利点は何ですか?

コードレビューを行っていたところ、次のような別の開発者によって書かれたコードを見つけました。

次に、divRef を DOM 要素への参照として使用します。

ただし、私が知っているパターンはcreateRef、クラスコンポーネントで使用しuseRef、機能コンポーネントでフックを使用しています。ReactJS の公式https://reactjs.org/docs/refs-and-the-dom.htmlでさえ、将来の React バージョンのインライン ref を避けるように言っています。書くのはレガシーパターンですか?

私が調査できる限り、インラインrefは関数を 2 回レンダリングするため、避けることをお勧めします。

これについて利用可能な他の説明は何ですか?

0 投票する
3 に答える
7042 参照

reactjs - React - useRef を使用してフォーム送信をトリガーする

こんにちは。フォーム action="POST" が実行される前に、中間関数を実行しようとしています。最初に onSubmit={functionName} という 2 つのことを試しましたが、onSubmit 関数で false を返しても、フォームは常にアクションを実行します。次に、送信イベントをプログラムでディスパッチする代わりに Ref を使用しようとしましたが、何も起こりませんか? 投稿されるフォーム値の構成を取得するには、基本的にサーバー側の呼び出しを行う必要がありますが、残念ながら、使用する外部 API では、この方法でフォームを送信する必要があります。どんな助けでも大歓迎です。

試行 1:

試行 2

基本的に、フォームを送信する前、またはフォームのアクションを実行する前に、サーバーを呼び出して結果を取得したいと考えています。

0 投票する
0 に答える
565 参照

reactjs - useRef反応フックが使用されているときにjestを使用してフォームを送信する方法は?

jest を使用してフォームを送信しようとしていますが、フィールド値を渡す方法がわかりません。フィールドが必須であるというメッセージとともにフォーム エラーが表示されます。以下は私のコンポーネントです。

thisForm.triggerValidation()フィールド値が空であり、フィールドとともに formErrors を返すため、onSubmit() は呼び出されません。Form の useRef をモックする必要があると思いますが、よくわかりません。以下はテストで、フォームをクリックすることはできますが、前述のように、テストを通じて onSubmit() メソッドを呼び出すことはできません