我正在尝试迁移到 react-router v4。我终于让路由本身手动工作(当我输入特定的 url 时),但现在我无法通过导航栏链接页面。
以前我会简单地在 NavItem 周围使用 LinkContainer,但是当我现在这样做时,我得到了错误:
Uncaught TypeError: router.createHref is not a function at LinkContainer.render (LinkContainer.js:112) at ReactCompositeComponent.js:796 at measureLifeCyclePerf (ReactCompositeComponent.js:75) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (ReactCompositeComponent.js:795) at ReactCompositeComponentWrapper. _renderValidatedComponent (ReactCompositeComponent.js:822) 在 ReactCompositeComponentWrapper.performInitialMount (ReactCompositeComponent.js:362) 在 ReactCompositeComponentWrapper.mountComponent (ReactCompositeComponent.js:258) 在 Object.mountComponent (ReactReconciler.js:46) 在 ReactDOMComponent.mountChildren (ReactMultiChild.js: 238) 在 ReactDOMComponent._createInitialChildren (ReactDOMComponent.js:697)
我在谷歌搜索时没有发现任何东西。
这是我当前的代码:
// the Navbar's code
export default class NavigationBar extends Component{
render(){
return (
<Navbar collapseOnSelect>
<Navbar.Header>
<Navbar.Brand>
<a href="#">My App</a>
</Navbar.Brand>
<Navbar.Toggle />
</Navbar.Header>
<Navbar.Collapse>
<Nav>
<LinkContainer to="/page1"><NavItem>Page1</NavItem></LinkContainer>
<LinkContainer to="/page2"><NavItem>Page2</NavItem></LinkContainer>
</Nav>
</Navbar.Collapse>
</Navbar>
);
}
}
//routing code
ReactDOM.render(
<Router>
<div>
<NavigationBar />
<Route path="/" component={Home}/>
<Route path="/page1" component={Page1}/>
<Route path="/page2" component={Page2}/>
</div>
</Router>,
document.getElementById('root')
);
有想法该怎么解决这个吗?