Mi backend funciona perfectamente bien, incluso mi integración redux con react js funciona completamente bien, pero tan pronto como uso useEffect, aparece el error "No se pueden leer las propiedades de undefined". 
A continuación se muestra mi código:
const ProductListScreen = ({ match }) => { const dispatch = useDispatch() const shopDetails = useSelector((state) => state.shopDetails) const { loading, error, shop } = shopDetails useEffect(() => { dispatch(shopDetail(match.params.shopid)) }, [dispatch, match]) if (loading) { return ( <div className='loader'> <Loader /> </div> ) } return ( <> <Link className='btn btn-dark my-3' to='/'> Go Back </Link> <h3>{shop.name} Products</h3> {error ? ( <Message variant='warning' color='red'> {error} </Message> ) : ( <Row> {shop && shop.products.map((product) => ( <Col key={product._id} sm={12} md={6} lg={4} xl={3}> <Product product={product} shopId={shop._id} /> </Col> ))} </Row> )} </> ) } <Row> {shop && shop.products?.map((product) => ( <Col key={product._id} sm={12} md={6} lg={4} xl={3}> <Product product={product} shopId={shop._id} /> </Col> ))} </Row>Utilice el operador de encadenamiento opcional para omitir el mapa de productos indefinidos
Bastante seguro, compre es veraz, por lo que la condición es verdadera, pero aún no está verificando la veracidad de los productos al mapearlos