Javascript 使用react引导导航栏链接到不同页面给定错误:未捕获类型错误:router.createHref不是函数
我正在尝试迁移到react路由器v4。我终于让路由本身手动工作了(当我输入特定的url时),但是现在我在通过导航栏链接页面时遇到了问题 以前,我只是在NavItem中使用LinkContainer,但现在这样做时,我得到了错误: 未捕获类型错误:router.createHref不是函数 在LinkContainer.render上(LinkContainer.js:112) 在ReactCompositeComponent.js:796 在measureLifeCyclePerf时(ReactCompositeComponent.js:75) 在ReactCompositeComponentWrapper.\u RenderValidatedComponentWithoutownerContext(ReactCompositeComponent.js:795) 在ReactCompositeComponentWrapper.\u renderValidatedComponent(ReactCompositeComponent.js:822) 在ReactCompositeComponentWrapper.PerformitialMount(ReactCompositeComponent.js:362)处 位于ReactCompositeComponentWrapper.mountComponent(ReactCompositeComponent.js:258) 在Object.mountComponent(ReactReconciler.js:46) 位于ReactDOMComponent.mountChildren(ReactMultiChild.js:238) 在ReactDOMComponent.\u createInitialChildren(ReactDOMComponent.js:697) 当我在谷歌上搜索的时候,我没有发现任何东西 这是我目前的代码:Javascript 使用react引导导航栏链接到不同页面给定错误:未捕获类型错误:router.createHref不是函数,javascript,reactjs,react-router,react-bootstrap,react-router-v4,Javascript,Reactjs,React Router,React Bootstrap,React Router V4,我正在尝试迁移到react路由器v4。我终于让路由本身手动工作了(当我输入特定的url时),但是现在我在通过导航栏链接页面时遇到了问题 以前,我只是在NavItem中使用LinkContainer,但现在这样做时,我得到了错误: 未捕获类型错误:router.createHref不是函数 在LinkContainer.render上(LinkContainer.js:112) 在ReactCompositeComponent.js:796 在measureLifeCyclePerf时(React
// 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')
);
//导航栏的代码
导出默认类NavigationBar扩展组件{
render(){
返回(
第1页
第2页
);
}
}
//路由代码
ReactDOM.render(
,
document.getElementById('root'))
);
关于如何解决这个问题有什么想法吗?react路由器引导程序还不支持v4 试试这个问题:
import React, { PropTypes } from 'react';
import { NavLink } from 'react-router-dom';
const propTypes = {
to: PropTypes.string.isRequired,
activeClassName: PropTypes.string,
children: PropTypes.node.isRequired,
exact: PropTypes.bool
};
function MenuLink({ to, activeClassName = 'active', exact, children }) {
return (
<li>
<NavLink exact={exact} to={to} activeClassName={activeClassName}>{children}</NavLink>
</li>
);
}
MenuLink.propTypes = propTypes;
import React,{PropTypes}来自'React';
从'react router dom'导入{NavLink};
常量属性类型={
收件人:PropTypes.string.isRequired,
activeClassName:PropTypes.string,
子项:PropTypes.node.isRequired,
精确:PropTypes.bool
};
函数MenuLink({to,activeClassName='active',exact,children}){
返回(
{儿童}
);
}
MenuLink.propTypes=propTypes;
用法:
<MenuLink exact to='/'> Home </MenuLink>
主页
或其他一些:
我看到了完全相同的错误,但在react router bootsrap中没有看到。对我来说,这里的问题是我没有将导入更改为dom 我变了
从'react router'导入{Link}
到
从'react router dom'导入{Link}