我是新来做出反应的人,现在正在构建交通网络应用程序。我有一个地图(带有google maps api)组件,一个用户位置组件和公共交通组件。另外,我编写了一个父组件,该组件应管理所有三个组件的状态并调用要渲染的地图组件。
问题是我不确定我是否做对了。实际上,我确定我搞砸了应该在这里工作的方式。
这是我的userLocation组件
import React from 'react'
export class Userocation extends React.Component {
constructor(props) {
super(props);
this.state = {
userLatlng = {lat: '', lng: ''}
};
this.getUsersLocation = this.getUsersLocation.bind(this)
this.parseUserLocation = this.parseUserLocation.bind(this)
}
parseUserLocation(position) {
const lat = position.coords.latitude;
const lng = position.coords.longitude;
var userLocation = { lat: lat, lng: lng }
this.props.updateUserLocation(userLocation)
}
getUsersLocation() {
navigator.geolocation.getCurrentPosition(this.parseUserLocation)
}
render() {
setInterval(this.getUsersLocation, 5000) // Not rendering anything..
}
}
位置管理器父组件(我已删除了其中的一部分,以便您可以看到问题所在)-
import React from 'react'
import userLocation from './userLocation'
import busStationLocation from './busStaionLocation'
export class Locationmanager extends React.Component {
constructor(props) {
super(props)
this.state = {
userLocation: {lat: '', lng: ''},
loadingUserLocation: true,
}
}
updateUserLocation(newLocation) {
this.setState({userLocation: newLocation})
}
render() {
<userLocation /> //Rendering a component that doesn't present nothing..
//calling the map and transport component...
}
}
您看到问题了吗?我不知道如何组织我的组件。