Estoy cargando elementos de selección de una lista de matrices que obtiene sus datos de una función de suscriptor de Firebase.
<Picker selectedValue={this.state.projectName} onValueChange={(itemValue) => this.temptemp(itemValue)} style={styles.picker}> {this.state.projectList.map(project => <Picker.Item label={project.data().name} value={project.id} />)} </Picker>En mi constructor:
this.subscriber = firebase.firestore().collection('users').doc(auth.currentUser.uid).onSnapshot(doc => { this.setState({projects: doc.data().projects}) this.getProjectNames(); })Una vez que agrego un elemento del selector a mi tienda de incendios, ya no quiero que aparezca en mi selector. Entonces, la función de suscriptor recupera los proyectos que deberían mostrarse nuevamente. Sin embargo, una vez que esto sucede, no se vuelve a llamar a onValueChange. Lo que da como resultado que los proyectos antiguos (que ya no se muestran) se agreguen nuevamente.
¿Cómo puedo recuperar datos del selector cuando carga dinámicamente sus elementos del selector?