Skip to main content

IMSession Hooks

info

全てのhooksは引数にcontextを渡すことができます。
この引数は、Providerでcontextを設定した場合に利用される事を想定しています。

useSessionState

現在のセッションの状態を返します。
状態が変更されるとIMSessionは再レンダーを発生させます。

Returns

sessionState

NameTypenullable
cookiescookie[]yes

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>
tip

現在のバージョンにおいてはrequestとupdateは全く同一のものです。 将来的にupdate独自の処理を追加する可能性があるためインターフェイスが分けられています。

destroy

  • 現在保持しているセッションを破棄します。
  • ローカルの情報を破棄するだけでなく、現在保持しているセッション情報を使用してログアウト行います。
  • Returns
    • Promise<void>

Example Usage

import { useSession } from "@intra-mart/smartlime";
const App = () => {
const { getSession, getSessionAsync, request, update, destroy } = useSession();
}