我收到此错误:
<{1}}标记上的在路由器上下文之外呈现的链接无法处理点击
<Link>
答案 0 :(得分:9)
您并未真正正确使用React Router,您需要呈现<Router>
组件,并在<Router>
内部呈现您的路由(<Route>
组件)。
你需要这样的东西:
ReactDOM.render(
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="my-path" component={MyPath} />
</Route>
</Router>
由于您并未真正呈现<Router>
,因此React Router会抛出此错误。
您可以在此处查看更多信息:
答案 1 :(得分:3)
这篇文章有点陈旧,我来这里有点晚了,也许下面的发现可以帮助别人。
如果由于路由器组件外部的链接导致测试失败,请查看MemoryRouter以测试链接组件。
这是一个链接,供人们在单元测试中测试道具和东西:
const node = document.createElement("div");
ReactDOM.render(
<MemoryRouter>
<Link to="/" innerRef={refCallback}>link</Link>
</MemoryRouter>,
node
)