Actualmente estoy tratando de desarrollar un sistema de filtrado para una tienda de comercio electrónico React. Tengo una lista de productos en una matriz, sin embargo, cuando trato de filtrar por los filtros solicitados, obtengo errores que: Uncaught TypeError: Cannot read properties of undefined (reading 'includes') .
Este es el esquema del producto:
const ProductSchema = new mongoose.Schema({ title: {type: String, required: true, unique: true}, description: {type: String, required: true, unique: true}, image: {type: String, required: true}, categories: {type: Array}, sizes: {type: Array}, color: {type: Array}, price: {type: Number, required: true} }, {timestamps: true}); Esta es la línea de código en la que estoy tratando de configurar filteredProducts para luego asignarlos a cada uno y mostrarlos:
useEffect(() => { // category && setFilteredProducts( products.filter((item) => Object.entries(filters).every(([key, value]) => item[key].includes(value) ) ) ); }, [products, category, filters]); Creo que lo que está diciendo es que los 'colores' y los 'tamaños' no son atributos del producto. Como referencia, este es el objeto de filtros que se pasa: {colors: 'black', sizes: 's'} .