Back to Storybook

Tanstack React Route Tree Overrides

docs/_snippets/tanstack-react-route-tree-overrides.md

10.4.01.4 KB
Original Source
ts
import type { Meta, StoryObj } from '@storybook/tanstack-react';

import { Route } from './UserCard';

const meta = {
  title: 'Users/UserCard',
  parameters: {
    tanstack: {
      router: {
        route: Route,
        params: { userId: '42' },
        // ๐Ÿ‘‡ Override the route's loader so the story doesn't call the real API.
        routeOverrides: {
          '/users/$userId': {
            loader: async () => ({ user: { id: '42', name: 'Ada Lovelace' } }),
          },
        },
      },
    },
  },
} satisfies Meta<typeof Route>;

export default meta;
type Story = StoryObj<typeof meta>;

export const Default: Story = {};
ts
import preview from '../.storybook/preview';

import { Route } from './UserCard';

const meta = preview.meta({
  title: 'Users/UserCard',
  parameters: {
    tanstack: {
      router: {
        route: Route,
        params: { userId: '42' },
        // ๐Ÿ‘‡ Override the route's loader so the story doesn't call the real API.
        routeOverrides: {
          '/users/$userId': {
            loader: async () => ({ user: { id: '42', name: 'Ada Lovelace' } }),
          },
        },
      },
    },
  },
});

export const Default = meta.story();
<!-- JS snippets still needed while providing both CSF 3 & Next -->