【发布时间】:2021-03-25 13:05:04
【问题描述】:
我有 2 个屏幕, 一个带有图像选择器和上传功能,另一个带有地图和标记,
我的目标是添加带有照片的标记,并将该照片参考放在我在 firebase 中的标记集合中。
到目前为止,我设法将标记 latlng,
我在地图屏幕内使用模式:在模式内我调用图像选择器,一旦我上传照片并使用:
//inside UploadScreen ~~~
const urlRef = storage()
.ref(filename)
.getDownloadURL();
console.log('url: ', urlRef)
我需要那个 urlRef 出现在我的其他屏幕模式中。
<Modal
isVisible
transparent
onBackButtonPress={() => this.setState({ activeModal: null })}
onBackdropPress={() => this.setState({ activeModal: null })}
>
<View style={styles.modalView}>
<UploadScreen />
<TouchableOpacity onPress={()=>this.setState({activeModal: null})}>
<Text> Close</Text>
</TouchableOpacity>
<TouchableOpacity onPress={() =>this._addMarker()}> //this adds the marker latlng
<Text>add marker</Text>
</TouchableOpacity>
</View>
</Modal>
在我的地图屏幕上,我调用 <UploadImage/> 来加载该上传图像组件,上传完成后,我得到了需要放入我地图屏幕中的标记集合中的 urlRef。
_addMarker() {
console.log('marker cords?: ', this.state.marker)
console.log('marker cords?: ', this.state.marker.longitude)
markerRef.add({
longitude: this.state.marker.longitude,
latitude: this.state.marker.latitude,
email: this.state.userEmail,
imageUri: "will be image uri"
})
}
请给我一些指导,我不确定那里是否需要道具或其他东西。
欢迎任何建议或帮助。
提前致谢
【问题讨论】:
-
您需要传递给其他组件的变量到底在哪里?另一个组件在哪里?他们是兄弟姐妹吗?他们有什么关系?
-
感谢您的回答,urlRef 位于我在地图屏幕的模态中调用的 uploadScreen 组件中,我认为它是一个孩子(因为我在我的地图屏幕的模态中调用它)跨度>
-
你想把它传递到哪里?到父模态?
-
是的,如果可能的话,我需要它在那个父模式上。否则我会将所有代码放在一起以获得该参考:(
-
好的,会留下答案
标签: reactjs react-native