2017-08-26 10 views
0

quand j'ai commencé le projet Je n'ai pas travaillé avec create-react-app J'ai construit l'application de base de réaction-flux comme toujours avec browserify et babelify et tous les et réagissent -router v4 travaillait et aucun problème passéreac-router v4 NavLink ne change pas URL

j'émigre pour créer une réaction-app env utiliser les outils de test et de construction qui est offert

et j'installé tous les paquets que j'ai utilisé précédemment correctement mais le routeur de réaction v4 a eu un problème

quand je clique NavLink, cela ne change pas l'URL mais quand je change l'URL manuellement fonctionne très bien

J'utilise BrowserRouter comme ceci:

<BrowserRouter history={HashRouter}<App /></BrowserRouter>,document.getElementById("root")); 

Et NavLink comme ceci:

<NavLink className="nav-link" activeClassName="active" to={"/drugs"}> 
          <i className="fa fa-medkit" aria-hidden="false"/> 
          &nbsp;Drugs 
         </NavLink> 

et le routeur comme ceci:

<Switch> 
       <Route exact={true} path="/" component={Patients}/> 
       <Route exact path="/drugs" component={Drugs}/> 
       <Route exact path="/settings" component={Settings}/> 
       <Route path="*" component={Error}/> 
      </Switch> 

et merci d'avance.

Répondre

0

Le problème est <Navlink to={"/drugs"}. Lorsque vous utilisez {} Vous indiquez que vous allez utiliser JS, et puisque "/drugs" n'est pas valide, il échoue.

Au lieu de supprimer le {}.

<NavLink className="nav-link" activeClassName="active" to="/drugs"> 
+0

il ne fonctionne pas: \ J'ai essayé avant et essayé à nouveau –

+0

@JihadBadran avez-vous installé 'réagit-routeur-dom'? ou "react-router" directement? –

+0

J'ai installé à la fois, NavLink est dans-routeur-dom de réaction après tout –