2017-09-06 96 views
0

我正在使用react-router-dom,並且我需要在URL匹配時使鏈接變成紅色,在我的up中,我有兩個網址/ =>/map如何使用react-router-dom將NavLink設置爲活動狀態

使用當前的代碼,我可以路由到不同的頁面,但在瀏覽器中更改url時,NavLink未被高亮顯示。任何想法如何解決它。

import React from 'react' 
import { NavLink, Route } from 'react-router-dom' 

const Navigation = ({ onClick, id, title, tooltip, url }) => { 
    return (
    <div onClick={onClick} alt={tooltip}> 
     { <Route path={url} exact children={({ match }) => (

     <div style={match ? {color: 'red'} : {}}> 
      {match ? '> ' : ''}<NavLink to={url}>{title}</NavLink> 
     </div> 
)} />} 
    </div > 
) 
} 

export default Navigation 

const Root = ({ store }) => (
     <Provider store={store}> 
     <Router> 
      <Switch> 
      <Route exact path='/' component={Forecast} /> 
      <Route exact path='/map' component={Map} /> 
      </Switch> 
     </Router> 
     </Provider> 
    ) 
+0

是正確的,我想標記爲活動鏈接它映射URL。謝謝 – Radex

回答

0

你的方法有點混亂。但是,如果您要突出顯示導航的活動鏈接,只需將activeClassName添加到您的NavLink。事情是這樣的

<NavLink to={url} exact activeClassName="activeLink" style=>{title}</NavLink> 

CSS的activeLink:

.activeLink { 
    color: red; 
} 

* 反應路由器-DOM: 「^ 4.1.2」

+0

我已經試過這種方法,但url沒有被標記爲正確激活 – Radex

+0

我正在添加我的路由器文件,你能告訴我什麼是錯誤的嗎? – Radex

相關問題