我正在学习 React。我有 4 个子页面的页面,我使用 React Router 浏览这些页面。除了重新加载页面外,一切正常。当我从页面“主页”转到“关于”或其他页面时,它可以,但是当我刷新页面时,它会再次呈现“关于”页面一秒钟,然后将页面更改为主页(主页是默认页面/第一页)。希望它停留在当前呈现的页面上,而不是每次刷新后返回主页。在 index.js 文件中有我的代码,我在其中渲染整个应用程序并使用路由器:
<Provider store={store}>
<Router path="/" history={browserHistory}>
<Route path="/home" component={App}>
<Route path="/" component={Home}/>
<Route path="/allhotels" component={AllHotels}/>
<Route path="/addhotel" component={AddHotel} />
<Route path="/about" component={About} />
</Route>
<Route path="/signin" component={SignIn} />
<Route path="/signup" component={SignUp} />
</Router>
</Provider>, document.getElementById('root')
Run Code Online (Sandbox Code Playgroud)
在“应用程序”中,我有导航,在那里我呈现来自 Home、AllHotels 等的其余内容。
有来自 App.jsx 的代码
class App extends Component {
render() {
return (
<div className="app-comp">
<Navigation />
<div> {this.props.children}</div>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
我还附上了显示我的问题的 gif。
在后端,如果重要的话,我会使用 Firebase。
提前致谢。
如何在 react mapbox gl 中获取当前地图的缩放比例?
包:https : //github.com/alex3165/react-mapbox-gl/tree/0df46b1dcf194cdf140638f653221d8a82f0b195
我已经尝试过“如何开始”中的示例来使用getZoom方法,Map但它不起作用。我有错误 Map.getZoom 不是函数。
编辑 ================
当我尝试通过 refs 访问它时,我遇到了类似屏幕截图的问题。如何获得具有我的 getZoom 功能的 .state.map.e?

我在我的应用程序中使用这个包https://github.com/alex3165/react-mapbox-gl。我想显示多边形,但是当我这样做时:
console.log("Display polygon");
let polygonPaint = MapboxGL.FillPaint = {
'fill-color': "#ff0000",
'fill-opacity': 0.3
}
<Layer key={"polygonKey"} type="fill" paint={polygonPaint}>
<Feature coordinates={
[[[-67.13734351262877, 45.137451890638886],
[-66.96466, 44.8097],
[-68.03252, 44.3252],
[-69.06, 43.98],
[-70.11617, 43.68405],
[-70.64573401557249, 43.090083319667144],
[-70.75102474636725, 43.08003225358635],
[-70.79761105007827, 43.21973948828747],
[-70.98176001655037, 43.36789581966826],
[-70.94416541205806, 43.46633942318431],
[-71.08482, 45.3052400000002],
[-70.6600225491012, 45.46022288673396],
[-70.30495378282376, 45.914794623389355],
[-70.00014034695016, 46.69317088478567],
[-69.23708614772835, 47.44777598732787],
[-68.90478084987546, 47.184794623394396],
[-68.23430497910454, 47.35462921812177],
[-67.79035274928509, 47.066248887716995],
[-67.79141211614706, 45.702585354182816],
[-67.13734351262877, 45.137451890638886]]]
}/>
</Layer>
Run Code Online (Sandbox Code Playgroud)
然后渲染循环......:/并一次又一次地渲染相同的多边形。我已经尝试过 GeoJSONLayer 圆圈、标记,但只会<Layer>导致这个问题。
所以我的问题是我是否可以在 GeoJSONLayer 中显示多边形?我可以看到 mapbox 提供了这样的东西(https://www.mapbox.com/mapbox-gl-js/example/geojson-polygon/),但我不知道如何在 React 包中做到这一点。