2017-03-22 74 views
8

菜鳥在這裏。 React Router v4中有沒有新的使用indexLink的方法?我更新一些版本3代碼(我想我離開的角度,以避免這一切的折舊!)React Router v4中的indexLink

我把它與一些descructuring:

var {NavLink, IndexLink} = require('react-router-dom'); 

,並使用IndexLink,以保持它被大膽所有的時間:

<h2>Nav</h2> 
<IndexLink to="/" activeClassName="active" activeStyle={{fontWeight: 'bold'}}>blah blah blah</IndexLink> 
//Other navlinks working fine 

IndexLink是打破我的代碼的唯一的事情,這裏是當我把它變成一個錯誤。

「警告:React.createElement:類型無效 - 預期字符串 (用於內置組件)或類/功能(複合 組件),但得到:未定義你可能忘了出口。您的 組件來自其定義的文件。請檢查渲染方法 Nav。「

所有東西都被導出,而且簡單的應用程序完美地工作,直到我添加IndexLink。現在傳遞出去。

+0

我真的建議具有RRv4文檔的讀取正確 - 在新版本的API是根本不同的。 –

+1

已經燒了我一兩次了 –

+0

我來之前肯定有讀過。 2小時搜索文檔和谷歌沒有睡覺可能不符合'正確',但! :D – DORRITO

回答

13

<Indexlink>在RRv4中不存在,因爲<IndexRoute>和索引的整個概念在RRv4中並不存在。請記住,鏈接和路線直接相關。

所以取而代之,只是使用<Navlink>

有閱讀官方文檔大約Navlink

Navlink - 的,這將增加造型特殊版本屬性所呈現的元素,當它當前的URL匹配。

如果您需要更多的URL匹配控制權,您可以使用strictexact道具。

+1

謝謝!我仍然需要解決它,但這是我需要知道的要點。在嘗試使用IndexLink之前,我曾將其作爲Navlink。可能是睡眠不足,但我不能在文檔中找到該索引。欣賞它。 – DORRITO

+1

明白了,你太棒了!確實做到了這一點。 – DORRITO

9

每克里斯,正確的答案是繼續使用NavLink和使用確切。嚴格沒有在這種情況下工作。

<NavLink exact to="/" activeClassName="active" activeStyle={{fontWeight: 'bold'}}>chris is awesome</NavLink> 

以防萬一遇到這個!