Aquí he usado dos nuevas matrices para capturar la URL y el valor del nombre de archivo. Cuando lo veo en la consola, obtuve valores diferentes cada vez que la matriz se sobrescribió de los valores anteriores, ¿estoy haciendo algo mal?
downLoadFilesAsZip = async(item) => { for (const index in item.docLinks) { let urlArr=[]; let fileNameArr = []; const url = item.docLinks[index]; let linkParts = url.split("?"); let filename = linkParts[0].substring(linkParts[0].lastIndexOf('/')+1); urlArr.push(url); fileNameArr.push(filename); } } downLoadAllAsZip = () => { { this.state.docGroups.length !== 0 && this.state.docGroups.map((item) => { if(item.docLinks !== null && item.docLinks.length > 0){ return( this.downLoadFilesAsZip(item) ); } }) } }Sigue el bucle. Cada vez que se ejecuta su ciclo, está configurando matrices vacías.
let urlArr=[]; let fileNameArr = [];trae eso fuera de tu bucle for.
Declarar la matriz fuera del bucle (después de la importación) ayudó a actualizar todos los valores. Para el archivo .tsx, la respuesta fue esta
type urlArr = any[]; type fileNameArr = any[]; let urlArr=[]; let fileNameArr = [];