为最终项目制作移动Wine应用程序。 它有一个带有愿望清单的配置文件,我可以在其中获取所有用户的愿望清单葡萄酒。 我创建了一个弹出菜单,但是它得到了错误的Uid,并将我发送到错误的页面。
尝试过的控制台日志沿着循环运行,因此我可以了解我在何时何地获得的Uid。
这是一个循环,在该循环中,我获得了用户愿望清单(由Uid组成),然后获得了一个const来获取数据库中的所有葡萄酒。
onPress
在第一个MenuItem内,并调用this.goToWine(vinhoUid, navigation)
,并应导航到所单击酒的页面(而不是循环中返回的最后一个酒)。
const Tinto = () => this.props.seeVisitedUser.vinhosWish.map((id) => {
const vinho = todosVinho.find(v => v.vinhoUid === id);
if (vinho) {
const {nome, fotoVinho, tipoVinho, vinhoUid} = vinho;
switch (tipoVinho) {
case 'Tinto':
return (
<View key={vinhoUid}>
<ImageBackground style={styles.wines_pic_l}
source={{uri: fotoVinho}}>
<Menu
ref={this.setMenuRef}
button={<Text onPress={this.showMenu} style={styles.wines_pic_l}> </Text>}
>
<MenuItem onPress={() => {
this.hideMenu();
this.goToWine(vinhoUid, navigation);
}}>Ver vinho</MenuItem>
<MenuItem onPress={this.hideMenu}>Adicionar à Adega</MenuItem>
<MenuItem onPress={this.hideMenu}>Apagar</MenuItem>
<MenuDivider/>
<MenuItem onPress={this.hideMenu}>Cancelar</MenuItem>
</Menu>
</ImageBackground>
这是onPress所呼叫的
goToWine(vinhoUid, navigation) {
db.collection('vinhos').doc(vinhoUid).get()
.then(docSnapshot => {
store.dispatch(showWine(docSnapshot.data()));
}).then(
navigation.navigate('WineInfo')
)
}
当我单击该按钮转到另一页时,它应该获取被单击的酒的Uid,但是,它将获取渲染器返回的最后一个酒的Uid。 发生的是,当它将我发送到葡萄酒页面时,显示了错误的葡萄酒。
很抱歉,如果我格式化错误或以错误的方式询问,这是第一次,仍然有点丢失。也很慌张。
谢谢。