所以
我<Marker />
正在渲染一堆由google-maps-react
google-maps-react
<Link />
react-router-dom
这就是我把它放在一起的方式:
render() {
return (
<div>
<Map
google={this.props.google}
zoom={14}
styles={this.props.mapStyles}
disableDefaultUI={true}
onClick={this.saveCoords}
>
{this.state.data.map(m => {
return (
<Link to={`/c/contribution/${m.id}`}>
<Marker position={{ lat: m.x, lng: m.y }} title={m.title} />
</Link>
)
})}
</Map>
</div>
)
}
我尝试window.location
改用,但这会重新加载页面,我不希望这样。
我在上面的代码中遇到了这个错误,这对我来说真的没有意义:
Warning: React does not recognize the `mapCenter` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `mapcenter` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
有了这个,我尝试实现一个可点击<Marker/>
的,它将呈现另一个元素。可以通过转到Route
代码示例中的当前来访问此特定元素。
使用的路线:
<Route path='/c/contribution/:id' component={Contribution} />