本文へ移動

handle に渡される event オブジェクトは、同じオブジェクト(RequestEvent のインスタンス)であり、+server.js ファイルのAPI ルート+page.server.js ファイルのフォームアクション、および+page.server.js+layout.server.jsload 関数に渡されます。

これには、多くの便利なプロパティとメソッドが含まれており、そのいくつかはすでに説明しました。

  • cookiesクッキーAPI
  • fetch — 標準のFetch API(追加の機能付き)
  • getClientAddress() — クライアントのIPアドレスを取得する関数
  • isDataRequest — ブラウザがクライアントサイドナビゲーション中にページのデータ要求をしている場合true、ページ/ルートが直接要求されている場合false
  • locals — 任意のデータを入れる場所
  • params — ルートパラメータ
  • requestRequest オブジェクト
  • route — マッチしたルートを表すidプロパティを持つオブジェクト
  • setHeaders(...) — レスポンスのHTTPヘッダーの設定のための関数
  • url — 現在のリクエストを表すURLオブジェクト

便利なパターンとしては、handleevent.localsにデータを追加して、後続のload関数で読み取れるようにすることです。

src/hooks.server
export async function handle({ event, resolve }) {
	event.locals.answer = 42;
	return await resolve(event);
}
src/routes/+page.server
export function load(event) {
	return {
		message: `the answer is ${event.locals.answer}`
	};
}

GitHub でこのページを編集

前へ 次へ
1
2
3
4
5
<script>
	let { data } = $props();
</script>
 
<h1>{data.message}</h1>