LoginSignup
2

SvelteでWritable<T>のTの型を取得する

Last updated at Posted at 2024-01-25

概要

ProviderIsOnline.svelte
  export type ContextIsOnline = Writable<boolean>
<script lang="ts">
  import type { ContextIsOnline } from '...';
  export let isOnline: XXXXX // ここ
</script>
<ProviderIsOnline {isOnline}>
  <slot />
</ProviderIsOnline>

XXXXXの部分でWritable<boolean>ではなくbooleanが欲しい時があります。
この例だと初期値をbooleanで受け取って、Contextで渡すのはwritable store って感じです。

StoresValuesを使う

<script lang="ts">
  import type { StoresValues } from 'svelte/store';
  import type { ContextIsOnline } from '...';
  export let isOnline: StoresValues<ContextIsOnline>
</script>
<ProviderIsOnline {isOnline}>
  <slot />
</ProviderIsOnline>

StoresValuesという型が用意されています。

今まで遭遇しなかったのであることをしりませんでした。
自分でいちいち自分で型を作らなくても用意されているのは助かりますね。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2