+ {productIds.map((productId) => (
+
+ ))}
+
+ );
+};
+
+const selectProducts = () => (state: State) => {
+ return productSelectors.selectIds(state).map(Number);
+};
diff --git a/src/webshop/components/ProductList/index.tsx b/src/webshop/components/ProductList/index.tsx
new file mode 100644
index 00000000..e09e765d
--- /dev/null
+++ b/src/webshop/components/ProductList/index.tsx
@@ -0,0 +1,22 @@
+import React, { FC, useEffect } from 'react';
+
+import Heading from 'common/components/Heading';
+import { useDispatch } from 'core/redux/hooks';
+import { fetchProducts } from 'webshop/slices/products';
+
+import { ProductResults } from './ProductResults';
+
+export const ProductList: FC = () => {
+ const dispatch = useDispatch();
+
+ useEffect(() => {
+ dispatch(fetchProducts());
+ }, [dispatch]);
+
+ return (
+