使用导航栏离开无法访问的路径时,我遇到了麻烦。
这是我的导航栏:
当用户点击Search
时,会向他们展示我所在国家/地区列出的慈善机构表。 Search
页面的路线是:
<Route path="search" component={SearchContainer} />
从表格中,您可以点击特定的慈善机构进入其页面。其路线是:
<Route path="charity/:registeredCharityNumber" component={CharityPageContainer} />
问题是,一旦查看慈善机构,点击导航栏中的任何项目都会导致Web控制台出错:
导航栏之前完美运行,但在您访问慈善页面路线后,您会看到此错误。解决此问题的唯一方法是重新加载浏览器。 单击浏览器调试视图中的错误突出显示(第4行)此代码段:
这就是我的路由器:
export const renderRoutes = () => (
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={HomePageContainer} />
<Route path="about" component={AboutPage} />
<Route path="search" component={SearchContainer} />
<Route path="contact" component={ContactPage} />
<Route path="thankyou" component={ThankYou} />
<Route path="charity/:registeredCharityNumber" component={CharityPageContainer} />
</Route>
</Router>
);
这是CharityPageContainer:
export default createContainer(( { params: { registeredCharityNumber }} ) => {
const charNum = parseInt(registeredCharityNumber);
const subscriptionHandle = Meteor.subscribe('current.charity', charNum);
console.log('CHARITY OBJECT ',currentCharity(charNum).fetch()[0]);
const loading = !subscriptionHandle.ready();
return {
subscriptionHandle,
loading,
charity: currentCharity(charNum).fetch()[0]
};
}, CharityPage);
这是我的导航栏组件的重要部分:
<Link activeClassName="active" className="item" to="/">Home</Link>
<Link activeClassName="active" className="item" to="/about">About</Link>
<Link activeClassName="active" className="item" to="/search">Search</Link>
<Link activeClassName="active" className="item" to="/contact">Contact</Link>
是 “反应”:“^ 15.2.1”, “react-router”:“^ 2.6.0”,