Skip to content

Commit

Permalink
Actualizado el ejemplo
Browse files Browse the repository at this point in the history
  • Loading branch information
rferromoreno committed Jul 14, 2021
1 parent 14fc66f commit 52c3ebb
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 6 deletions.
3 changes: 2 additions & 1 deletion src/App.js
Expand Up @@ -17,7 +17,8 @@ function App() {
<NavBar/>
<Switch>
<Route path='/item/:itemId'><ItemDetail products={products} /></Route>
<Route path='/color/:colorId'><ItemList products={products} /></Route>
<Route path='/color/:id'><ItemList products={products} filterBy="color" /></Route>
<Route path='/category/:id'><ItemList products={products} filterBy="category" /></Route>
<Route exact path='/'><ItemList products={products} /></Route>
</Switch>
</BrowserRouter>
Expand Down
2 changes: 2 additions & 0 deletions src/components/NavBar.js
Expand Up @@ -7,6 +7,8 @@ const NavBar = () => (
<Link className="link" to='/'>Inicio</Link>
<Link className="link" to='/color/Blanco'>Productos en Blanco</Link>
<Link className="link" to='/color/Negro'>Productos en Negro</Link>
<Link className="link" to='/category/Madera'>Productos de Madera</Link>
<Link className="link" to='/category/Ladrillo'>Productos de Ladrillo</Link>
</nav>
);

Expand Down
2 changes: 2 additions & 0 deletions src/containers/ItemDetail.js
Expand Up @@ -12,6 +12,8 @@ const ItemDetail = ({ products }) => {
<div>
<h1>{item?.title}</h1>
<span>{item?.description}</span>
<span>{item?.category}</span>
<span>{item?.color}</span>
<div><img src={item?.imageSrc} alt={item?.title} /></div>
<div><Link to='/'>Volver al inicio</Link></div>
</div>
Expand Down
10 changes: 5 additions & 5 deletions src/containers/ItemList.js
@@ -1,18 +1,18 @@
import React, { useState, useEffect } from 'react';
import { Link, useParams } from 'react-router-dom';

const ItemList = ({ products }) => {
const { colorId } = useParams();
const ItemList = ({ products, filterBy }) => {
const { id } = useParams();
const [list, setList] = useState([]);
useEffect(() => {
let productList;
if (colorId) {
productList = products.filter(product => product.color === colorId)
if (id && filterBy) {
productList = products.filter(product => product[filterBy] === id)
} else {
productList = products;
}
setList(productList)
}, [colorId, products]);
}, [id, products, filterBy]);
return (
<div>
{list.map(item => (
Expand Down

0 comments on commit 52c3ebb

Please sign in to comment.