【发布时间】:2019-03-28 07:58:30
【问题描述】:
从上图中,我有 2 个视图,当按下棕色或绿色按钮时可以更改它们。因此,当默认情况下已经选择了棕色按钮时,地图中有一个标记。当我按下绿色按钮时,我希望删除地图的标记。
所以我尝试的是在按下绿色按钮时设置一个异步变量,并在 Map 组件中获取该异步变量。
使用地图组件中的异步变量,我会让地图知道隐藏标记。但问题是如何重新渲染我的地图组件?
更新问题
Dan 的解决方案对我有用。但现在我有一个小问题。当我在componentWillMount 中使用this.setState 时,它会给我一个警告。那么我可以使用什么其他替代方法来根据我收到的道具的价值来显示/隐藏我的标记?
if(this.props.isMarkerVisible) {
this.setState({ showDots: true })
}
else {
this.setState({ showDots: false })
}
{ this.state.showDots === true &&
<Marker
ref={(mark) => { this.marker = mark; }}
coordinate={{ latitude, longitude }}
pinColor={colors.primaryColor}
image={require('../../../../assets/circle.png')}
/>
}
{ this.state.showDots === false && null }
【问题讨论】:
标签: android reactjs react-native react-native-maps