2016-02-29 24 views
1

我目前正在使用的應用使用meteor和react和react-router來提供路由功能。我有一段代碼,它接受一個參數到路由並呈現項與該ID:React-Router和Meteor無法在刷新時渲染帶有參數的路由

<Route path='/ItemView/:itemID' component={ItemView}/> 

的代碼工作正常,從編碼路徑中的項目ID和正確呈現的鏈接。但是,從瀏覽器刷新或在瀏覽器中手動輸入鏈接時,不會呈現任何內容。它給出了以下錯誤:

"Exception from Tracker recompute function:" meteor.js:880:10 
"TypeError: prevComponentInstance is null" 

我該如何處理?我沒有正確設置某些東西,還是應該避免讓人們以某種​​方式刷新或重新加載瀏覽器版本的鏈接。對於非參數化的鏈接也不會發生這種情況。在這些情況下,刷新工作正常,沒有投訴。

我意識到我可以使用像Picker這樣的東西來創建服務器端路由,但我希望有更容易使用的東西。

的完整代碼可以在這裏對ItemView控件分支:

https://github.com/ClaaziX/foodshare/tree/itemview

感謝。

回答

1

我在我的應用程序中遇到了同樣的問題。在我的探求,我偶然發現了這個線程流星論壇:

https://forums.meteor.com/t/tracker-crashing-with-react-data-meteor/15287/2

爲回覆正確地指出,錯誤發生,因爲在創建容器時,我們的收費還沒有準備好,並沒有返回組件支撐的有效值。

返回一個空的對象,而不是{}nullundefined(如數據庫查詢可能不會)應該可以解決問題