我想知道当从一页导航到另一页时,是否有可能将params
之类的busstop
传递给this.ref = firebase.firestore().collection(params)
来访问不同的集合。如果没有,我该如何实现呢?
第1页-用户可以选择要从Firebase Firestore检索数据的内容。
Page1.js
onPress () = > this.props.navigation.navigate('page2',{locations: 'busstops' })
onPress () = > this.props.navigation.navigate('page2',{locations: 'taxis' })
page2
import {View,Text} from 'react-native';
const collectionid = this.props.navigation.state.params.location
const location = collectionid ? params.location : null;
export default class HomeDetail extends Component {
constructor(props) {
super(props);
this.ref = firebase.firestore().collection(location);
this.state = {
},
};
}
答案 0 :(得分:2)
如果我正确理解了您的问题,那么这是一个react-navigation
问题,而不是Firestore问题。请检查此链接:
从文档中
过去,您可能遇到过以下可怕的情况: 未定义params时访问参数。而不是访问 直接进行参数设置,您可以改为调用getParam。
他们将其更改为:
const { location } = this.props.navigation.state.params.location;
到
const location = this.props.navigation.getParam(paramName, defaultValue);
因此,请尝试在您的代码中使用它:
const collectionid = this.props.navigation.getParam('location');