kerim Erkan
kerim Erkan

Reputation: 171

Error while rendering an array from firestore to react native

i have an array that i am trying to read and store in a state however, with the code below, here is the error i get: "function collectionReferenace.doc() requires its first argument to be of type non-empty string, but it was undefined" any idea why this is happening and what is the solution?

componentDidMount(){
        dbh.collection('Groups').doc(this.props.route.params.groupName)
        .collection('Enrolled').doc('ids').get()
        .then(querySnapshot => {
            querySnapshot(doc => {
                this.setState({
                    playerIDs: doc.data().players
                })
            })
        })
        console.log(this.state.playerIDs)
    }

the this.props.route.params.groupName is passed from the navigation of the previous screen. When I set a constant in the render function to it and call that variable it works fine.

    render() {
    const groupName = this.props.route.params.groupTitle
return
<Text>{groupName}</Text>

for your reference, here is how i am getting that route.param

<GroupComponent onPress = {
() => this.props.navigation.navigate
('Attendance', {groupTitle: group.GroupName, groupID: group.id})
} />

Upvotes: 0

Views: 59

Answers (1)

RossHochwert
RossHochwert

Reputation: 170

Based on your code, you should be acccessing dbh.collection('Groups').doc(this.props.route.params.groupTitle) not groupName. The object you pass through params has keys groupTitle and and groupID, not groupName.

Upvotes: 1

Related Questions