useSubscribeDoc(ドキュメントの監視)
この Hooks を使用することで、Firestore 上のドキュメントをリッスンすることができます。
Doc をリッスンすることで、Firestore 側でドキュメントの内容が書き換えられた場合データが自動で再取得され、 データを常に最新の状態に保つことができます。
const [docData, loading, error, unsubscribeFn] = useSubscribeDoc(path, options);
Hooks の戻り値
docData:
DocDataFirestore から取得したドキュメントの内容であり、
初期値には{ data: null, id: null }が代入されています。loading:
booleanデータを取得しているかを表します。
error:
Errorデータ取得の際にエラーが発生した場合エラー内容が入力されます。
初期値にはnullが代入されています。unsubscribeFn:
() => voidドキュメントのリッスンを中断するための関数です。
Hooks の引数
path:
string監視対象のドキュメントの Firestore 上のパスです。
optional options:
objectデータを取得する際のオプションです。
options の内容
optional callback:
(DocData) => voidデータを取得する際に実行される関数を指定することができます。
注意:Firestore 上のパスは
/Collection/Doc/Collection/Doc/...となっていることに注意してください。 もしコレクションを取得する場合は、代わりにuseSubscribeCollectionを使用してください。
Example
const [cityData, loading, error, unsubscribeFn] = useSubscribeDoc("/cities/NewYork");
cityData には次のような内容が代入されます。
{
"name": "New York",
"population": 19354922,
"country": "United States"
}
次を実行することでドキュメントのリッスンを中断できます。
unsubscribeFn();