問題タブ [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.
reactjs - インライン参照ではなく useRef または createRef を使用する利点は何ですか?
コードレビューを行っていたところ、次のような別の開発者によって書かれたコードを見つけました。
次に、divRef を DOM 要素への参照として使用します。
ただし、私が知っているパターンはcreateRef
、クラスコンポーネントで使用しuseRef
、機能コンポーネントでフックを使用しています。ReactJS の公式https://reactjs.org/docs/refs-and-the-dom.htmlでさえ、将来の React バージョンのインライン ref を避けるように言っています。書くのはレガシーパターンですか?
私が調査できる限り、インラインref
は関数を 2 回レンダリングするため、避けることをお勧めします。
これについて利用可能な他の説明は何ですか?
reactjs - React - useRef を使用してフォーム送信をトリガーする
こんにちは。フォーム action="POST" が実行される前に、中間関数を実行しようとしています。最初に onSubmit={functionName} という 2 つのことを試しましたが、onSubmit 関数で false を返しても、フォームは常にアクションを実行します。次に、送信イベントをプログラムでディスパッチする代わりに Ref を使用しようとしましたが、何も起こりませんか? 投稿されるフォーム値の構成を取得するには、基本的にサーバー側の呼び出しを行う必要がありますが、残念ながら、使用する外部 API では、この方法でフォームを送信する必要があります。どんな助けでも大歓迎です。
試行 1:
試行 2
基本的に、フォームを送信する前、またはフォームのアクションを実行する前に、サーバーを呼び出して結果を取得したいと考えています。
reactjs - useRef反応フックが使用されているときにjestを使用してフォームを送信する方法は?
jest を使用してフォームを送信しようとしていますが、フィールド値を渡す方法がわかりません。フィールドが必須であるというメッセージとともにフォーム エラーが表示されます。以下は私のコンポーネントです。
thisForm.triggerValidation()
フィールド値が空であり、フィールドとともに formErrors を返すため、onSubmit() は呼び出されません。Form の useRef をモックする必要があると思いますが、よくわかりません。以下はテストで、フォームをクリックすることはできますが、前述のように、テストを通じて onSubmit() メソッドを呼び出すことはできません