我目前正在使用的应用程序将流星与react和react-router结合使用以提供路由功能。我有一段代码可以接受路线的参数,并使用该ID渲染商品:
<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
谢谢。
我的应用程式遇到相同的问题。在搜索过程中,我偶然发现了流星论坛上的该主题:
https://forums.meteor.com/t/tracker-crashing-with-react-data-meteor/15287/2
正如答复正确指出的那样,发生错误是因为创建容器时我们的订阅尚未准备好,并且无法为组件的prop返回有效值。
返回空对象{}
而不是null
或undefined
(如数据库查询可能的那样)应该可以解决问题
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句