リファレンス<SvelteFlowProvider />

<SvelteFlowProvider />

GitHub のソース

<SvelteFlowProvider /> コンポーネントは、子ノードを Svelte コンテキストでラップします。これにより、<SvelteFlow /> コンポーネントの外部からフローの内部状態にアクセスできます。提供するフックの多くは、このコンポーネントが機能するために依存しています。

App.svelte
<script>
import { SvelteFlow, SvelteFlowProvider } from '@xyflow/svelte';
 
import Sidebar from './Sidebar.svelte';
</script>
 
<SvelteFlowProvider>
  <SvelteFlow nodes={...} edges={...} />
  <Sidebar />
</SvelteFlowProvider>
Sidebar.svelte
<script>
  import { SvelteFlow, SvelteFlowProvider } from '@xyflow/svelte'
 
  // This hook will only work if the component it's used in is a child of a
  // <SvelteFlowProvider />.
  const nodes = useNodes()
</script>
 
<aside>
  {#each $nodes as node (node.id)}
    <div key={node.id}>
      Node {node.id} -
        x: {node.position.x.toFixed(2)},
        y: {node.position.y.toFixed(2)}
    </div>
  {/each}
</aside>

注記

  • ルーターを使用していて、フローの状態をルート間で永続させたい場合は、<SvelteFlowProvider /> コンポーネントをルーターの*外部*に配置することが重要です。
  • 同じページに複数のフローがある場合は、別々の <SvelteFlowProvider /> を使用する必要があります。