web-dev-qa-db-fra.com

Storybook avec / réact-routeur - Vous ne devez pas utiliser <lien> extérieur <routeur>

Publier la solution à un problème que j'ai eu du mal à trouver des compétences en googling bien que Sensei

Bien que mon application avec réact-routeur fonctionnait sans aucun problème de conturybook a jeté l'erreur "L'invariant a échoué: vous ne devez pas utiliser dehors".

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)

Étrange, comme l'application a fonctionné (et non non été utilisée à l'extérieur).

7
Natan Williams

Pour la version 6.1 de Storybook Works StoryBook-Router dans la nouvelle notation de code. Voici un exemple pour un seul composant:

import React from 'react';
import StoryRouter from 'storybook-react-router';
import //your component// from //component location//

export default {
  title: '//your component//',
  component: //your component//,
  decorators: [StoryRouter()],
};

export const Name = () => <//your component// />;
0
Web-ski