未捕获的类型错误:无法读取未定义的属性“history”
2017-06-13
1903
我正在使用 react-router v4.1.1,当我尝试使用 Link 组件时,我收到警告:
Failed context type: The context `router` is marked as required in `Link`,
but its value is `undefined`.
还有一个错误:
Uncaught TypeError: Cannot read property 'history' of undefined
错误出现在此字符串的 Link 组件中:
var href = this.context.router.history.createHref(typeof to === 'string' ? { pathname: to } : to);
为什么路由器未定义?
我在我的一个组件中导入了 BrowserRouter 和 Route,该组件仅负责呈现菜单中选定的页面。 并在另一个组件中导入 Link,该组件实际上是带有无序列表的菜单组件。
如果需要,我会附上我的所有组件。 谢谢你的帮助。
1个回答
如果您想使用这个
var href = this.context.router.history.createHref(typeof to === 'string' ? { pathname: to } : to);
您需要按照以下方式将路由器注册到您的组件中 在您的组件中输入此代码
static contextTypes = {
router: React.PropTypes.object
}
Chandrakant Thakkar
2017-07-19