Así es como filtro para obtener la cadena de objetos de una matriz de objetos displayImages que obtuve el valor del menú desplegable
const locationNameDropdown = () => { return displayImages.map((data, key) => ( <option key={key} value={data.locationName}> {data.locationName} </option> )); };Esta es la parte que me confunde, quiero mostrar todas las tarjetas si el valor objetivo es "Todos" y cuando selecciono el valor objetivo en el menú desplegable, mostrará todas las tarjetas según la ubicación que seleccioné.
const onChange = (e) => { if (e.target.value === "All") { setDisplayImages(null); } else { setDisplayImages([e.target.value]); } }; const images = displayImages.map((data, key) => { return ( <div key={key}> <div className="card bg-light mb-3" value={data.locationName}> <div className="card-header"> <center> <h5>{data.locationName}</h5> </center> </div> <div className="card-body"> <div className="mrtgDiv"> <img src={data.filePath} /> </div> </div> </div> </div> ); }); ``` I displayed it like this: ``` return ( <div> <div> <select className="form-select" onChange={onChange}> <option value="All" defaultValue> All </option> {locationNameDropdown()} </select> </div> <br /> <br /> <center> <h5>test</h5> </center> <div>{images}</div> </div> ); ```Hay muchas formas de lograr esto, como intentar aplicar un filtro en el ".mapa" que se usa para mostrar imágenes.
No probé el código , pero debería dar una idea de lo que funcionará.
displayImages.filter((displayImage) => selectedImage === '' || displayImage.locationName === selectedImage).map