我的应用程序使用 areact-leaflet
来生成带有标记和弹出窗口的地图。我需要通过<Link/>
来自react-router
.
/* app.js */
import React from 'react';
import { render } from 'react-dom';
import { Router, Route, browserHistory } from 'react-router';
import App from './components/App';
import Map from './components/Map';
const Root = () =>
<Router history={browserHistory}>
<Route path='/' component={App}>
<Route path='map' component={Map} />
</Route>
<Router>
render(<Root />, document.getElementById('root'));
/* components/Map/index.js */
import React from 'react';
import { Router, Route, browserHistory } from 'react-router';
import App from './components/App';
import Map from './components/Map';
const Map = () =>
<Map>
<Marker position={[10, 10]}>
<Popup>
<div>
<Link to="/">Main page</Link>
</div>
</Popup>
</Marker>
<Map>
export default Map;
但是通过链接我得到一个错误:
在路由器上下文之外呈现的 <Link> 无法导航。
这是因为打开的 Popup 的内容从路由器上下文中移除并放在下面。
我想,我可以放入router.push()
Popup。但也许可以使用 a<Link/>
吗?
谢谢!