Usando estas dos piezas de estado:
this.markerArray = []; this.arrayLength = 0;Estoy tratando de usar esta función:
getMarkers = () => { this.dbRef.get().then((snapshot) => { snapshot.docs.forEach((marker) => { if (!this.markerArray.includes(marker.id)) { let currentID = marker.id; let appObj = { ...marker.data(), ["id"]: currentID, }; this.markerArray.push(appObj); } }); this.setState({ markerArray: this.markerArray, }); // (problem code) this.setState({arrayLength: this.markerArray.length}) return this.markerArray; }); };Para actualizar una lista de marcadores de mapa. Estoy tratando de actualizar this.arrayLength cuando cambia la longitud de this.markerArray. Creo que el problema tiene que ver con la naturaleza asíncrona de setState, pero no sé qué hacer con esa información.
Yo he tratado:
Incluso intenté establecer arrayLength en un número arbitrario que no depende de markerArray.length, pero no se actualizará.