gpt4 book ai didi

javascript - Storybook w/react-router - 你不应该在 之外使用

转载 作者:行者123 更新时间:2023-12-01 15:22:12 33 4
gpt4 key购买 nike

发布问题的解决方案我很难找到尽管 Sensei 谷歌搜索技能
尽管我的带有 react-router 的应用程序可以正常工作,但 Storybook 抛出了错误“不变式失败:您不应该在外部使用”。

Error: Invariant failed: You should not use <Link> outside a <Router>
at invariant (tiny-invariant.esm.js:11)
at react-router-dom.js:181
at updateContextConsumer (react-dom.development.js:19747)
at beginWork$1 (react-dom.development.js:20079)
at HTMLUnknownElement.callCallback (react-dom.development.js:358)
at Object.invokeGuardedCallbackDev (react-dom.development.js:410)
at invokeGuardedCallback (react-dom.development.js:463)
at beginWork$$1 (react-dom.development.js:25730)
at performUnitOfWork (react-dom.development.js:24631)
at workLoopSync (react-dom.development.js:24613)
奇怪,因为应用程序工作(因此没有在外面使用)。

最佳答案

这对我有用:

  • 创建 preview.js文件在您的.storybook文件夹。
  • 在您的 preview.js 中添加以下全局装饰器文件。

  •     import React from "react";
    import { addDecorator } from "@storybook/react";
    import { MemoryRouter } from "react-router";

    addDecorator(story => <MemoryRouter initialEntries={['/']}>{story()}</MemoryRouter>);
    备注
  • 使用的故事书版本:"@storybook/react": "^5.3.13"
  • 基于此解决方案here
  • 更多关于全局装饰器here
  • 关于javascript - Storybook w/react-router - 你不应该在 <Router> 之外使用 <Link>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58909666/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com