ブログblog

【React】useRefについて

Writer: tokuyasu 更新日:2023/11/14

こんにちは、デジナーレ福岡オフィスの徳安です。
この記事では、useRef()について説明します。

useRefとは

と公式ドキュメントに記載がある。
少し理解しにくいので、簡単に説明すると、
useRefとは、要素の参照を行うためのフックで、
主にDOMへのアクセスに利用される。
useRefはコンポ-ネント内において変数に値を保持することができ
値を更新してもコンポーネントが
再レンダリングされることはない
値を保持できるといった面では、useStateと同じだが、
useStateは値が変更されるたびに再レンダリングされる
といった点は異なる。
useRefを利用することで、
無駄な再レンダリングを抑えることが可能になる。

 構文

コンポーネントのトップレベルで
useRefを呼び出して、refを宣言する。

引数

initialValue: ref オブジェクトの
current プロパティの初期値として設定する値
この引数は2回目以降のレンダーでは無視される。

返り値

渡した initialValue が初期値に設定される。
refオブジェクトをJSXノードのref属性としてReactに渡すと、
Reactはcurrentプロパティの値を返す

refのDOM操作

初期値をnullに設定したrefオブジェクトを宣言し、
操作したDOMノードのJSXのref属性に、
refオブジェクトを渡す

refオブジェクトのcurrentプロパティに
そのDOMノードが設定される。
作成した、DOMノードにアクセスして、
focus()などのメソッドを呼び出すことが可能になる。

Reactは、ノードが画面から削除されると
currentプロパティにnullを戻す。

refとstate

refとstateの違い

ここまで読み進めていただきありがとうございます。