Est-il une solution pour LinkContainer composant de réagir-routeur-bootstrap erreur?

0

La question

Donc je suis en utilisant le LinkContainer composant de réagir-routeur-bootstrap pour envelopper mon Nav.Lien de la composante de bootstrap. Veuillez vous référer à l'image ci-dessous pour référence.

// Snippet
import {LinkContainer} from "react-router-bootstrap";

// Snippet

              <LinkContainer to="/cart">
                <Nav.Link class="navlink">
                  <FaShoppingCart /> Cart
                </Nav.Link>
              </LinkContainer>

// Snippet

Mais j'obtiens cette erreur avec mon code: [Erreur De Photo][1] [1]: https://i.stack.imgur.com/AF41y.png

Par ailleurs, je suis à l'aide de Réagir v. 17.0.2 et Réagir-Routeur-Bootstrap v. 0.25.0

Je voudrais demander si quelqu'un peut aider ou dois-je viens de changer ma version de mon réagir-routeur-bootstrap, ou même l'utilisation d'une réaction-routeur-composant à la place.

Je vous remercie à l'avance.

2

La meilleure réponse

1

J'ai déjà résolu le problème.

Au lieu d'utiliser un LinkContainer composant de react-router-bootstrapJ'ai simplement utilisé l' as à l'intérieur de la propriété <Nav.Link> et définir sa valeur en tant que Link composant de react-router-dom:

// Here's the code snippet

/* instead of using react-router-bootstrap, we're just going to use the Link component from the react-router-dom */

import { Link } from "react-router-dom";

function Header () {
return(
<Nav.Link as={Link} to="/path">children</Nav.Link>
);
}

export Header

J'ai utilisé la réponse de cette question pour la référence: ReactJS Bootstrap barre de navigation et de Routage de ne pas travailler ensemble

2021-11-24 04:07:43
0

J'ai aussi des problèmes avec LinkContainer l'enveloppant d'un Nav.Lien comme suit:

<Navbar.Collapse id='basic-navbar-nav'>
    <Nav className='me-auto'>
         <LinkContainer to='/'>
               <Nav.Link>Home</Nav.Link>
          </LinkContainer>

Je suis en utilisant ce dépendances:

 "react-bootstrap": "^2.0.2",
        "react-dom": "^17.0.2",
        "react-router-bootstrap": "^0.25.0",
        "react-router-dom": "^6.0.2",
        "react-scripts": "4.0.3"

J'obtiens cette erreur lors de l'exécution de la ngp commencer à voir mon site dans le navigateur google Chrome:

TypeError: (0 , _reactRouterDom.withRouter) n'est pas une fonction ./node_modules/react-router-bootstrap/lib/LinkContainer.js

S:/Kuarsis/webapps/kuarsis/frontend/node_modules/react-router-bootstrap/lib/LinkContainer.js:155
  152 |   strict: false,
  153 |   activeClassName: 'active'
  154 | };
> 155 | exports.default = (0, _reactRouterDom.withRouter)(LinkContainer);

Depuis que j'ai le LinkContainer sur un autre ancien projet, qui est à l'aide de réagir-routeur-dom 5.0.0, au lieu de la 6.0.2, j'ai désinstallé la 6.0.2 avec

npm uninstall react-router-dom

Et puis installé la version 5.0.0 avec:

npm i [email protected]

Qui fixe le LinkContainer question et le site web a très bien fonctionné.

Il semble y avoir un problème d'incompatibilité entre réagissent-routeur-bootstrap et la dernière version de réagir-routeur-dom 6.0.2, ou la bonne façon de sa mise en place a changé et je n'ai pas vu les dernières instructions sur la façon de les faire travailler ensemble.

Espérons que cela aide, et si quelqu'un d'autre a plus de points de vue sur la façon de faire 6.0.2 travail sans rouler retour à la version 5.0.0 de réagir-routeur-dom, s'il vous plaît laissez-nous savoir.

2021-11-24 02:47:44

Merci Silverio
wizby_

Au lieu d'utiliser LinkContainer de bootstrap, j'ai utilisé le Lien de la composante de réagir routeur dom ensuite utilisé la propriété de bootstrap navlink composants. Vous pouvez vérifier la réponse que j'ai posté pour plus d'informations.
wizby_

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................