IMSession Hooks
備考
全てのhooksは引数にcontextを渡すことができます。
この引数は、Providerでcontextを設定した場合に利用される事を想定しています。
useSessionState
現在のセッションの状態を返します。
状態が変更されるとIMSessionは再レンダーを発生させます。
Returns
sessionState
Name | Type | nullable |
---|---|---|
cookies | cookie[] | yes |
cookie
IMSessionは内部的にset-cookie-parserを利用しています。 cookiesは取得した文字列をset-cookie-parserでparseした結果の配列です。
Example Usage
import { useSessionState } from "@intra-mart/smartlime";
const App = () => {
const { cookies } = useSessionState();
}
useSession
セッションの状態を操作するためのいくつかのFunctionを返します。
Returns
getsession
- 現在のセッション情報を返します。
- useSessionStateとの違いはトップレベル以外でも呼び出せる事と再レンダーが発生しない点です。
- Returns
sessionState | null
getSessionAsync
- セッションが有効かを確認した上で、セッション情報を返します。
- セッションが無効な場合は新しいセッションを確立した上で、セッション情報を返します。
- Returns
Promise<sessionState | null>
request
- セッションの確立を行います。
- Returns
Promise<SuccessResult | ErrorResult>
update
- セッションの更新を行います。
- Returns
Promise<SuccessResult | ErrorResult>
ヒント
現在のバージョンにおいてはrequestとupdateは全く同一のものです。 将来的にupdate独自の処理を追加する可能性があるためインターフェイスが分けられています。
destroy
- 現在保持しているセッションを破棄します。
- ローカルの情報を破棄するだけでなく、現在保持しているセッション情報を使用してログアウト行います。
- Returns
Promise<void>
Example Usage
import { useSession } from "@intra-mart/smartlime";
const App = () => {
const { getSession, getSessionAsync, request, update, destroy } = useSession();
}