Storybook 中的 React-Router 重定向
React-Router Redirect in Storybook
我有一些组件在某些情况下使用重定向(来自 react-router-dom)。似乎 Storybook 不喜欢这样,尽管我用路由器装饰器包装了我的故事。有谁知道如何让故事书与重定向一起工作?
我最接近实现这一目标的方法是使用@storybook/addon-links,但到目前为止没有成功。我已经创建了一个存储库,我正在寻找的组件与 Landing.stories.jsx 和 Login.stories.jsx
有关
https://github.com/javierguzman/storybook-addon-links
提前致谢并问候
我找到的解决方案是使用“Story Links Addon”,npm 包名称“@storybook/addon-links”。
安装后,我用内存路由器包装我的故事,根据您要制作的重定向指定路线和路径。这样,一旦调用 Redirect,AutoLinkTo 也会被渲染,这是一个切换故事:
<MemoryRouter initialEntries={[encodeURI(route)]}>
<Route path={path}>
<AutoLinkTo kind={redirectComponent} story={redirectStory} />
</Route>
</MemoryRouter>
自动链接到:
const AutoLinkTo = ({ kind, story }) => {
React.useEffect(() => {
linkTo(kind, story)();
})
return null;
}
我有一些组件在某些情况下使用重定向(来自 react-router-dom)。似乎 Storybook 不喜欢这样,尽管我用路由器装饰器包装了我的故事。有谁知道如何让故事书与重定向一起工作?
我最接近实现这一目标的方法是使用@storybook/addon-links,但到目前为止没有成功。我已经创建了一个存储库,我正在寻找的组件与 Landing.stories.jsx 和 Login.stories.jsx
有关https://github.com/javierguzman/storybook-addon-links
提前致谢并问候
我找到的解决方案是使用“Story Links Addon”,npm 包名称“@storybook/addon-links”。
安装后,我用内存路由器包装我的故事,根据您要制作的重定向指定路线和路径。这样,一旦调用 Redirect,AutoLinkTo 也会被渲染,这是一个切换故事:
<MemoryRouter initialEntries={[encodeURI(route)]}>
<Route path={path}>
<AutoLinkTo kind={redirectComponent} story={redirectStory} />
</Route>
</MemoryRouter>
自动链接到:
const AutoLinkTo = ({ kind, story }) => {
React.useEffect(() => {
linkTo(kind, story)();
})
return null;
}