【问题标题】:Ternary operator with map of undefined具有未定义映射的三元运算符
【发布时间】:2020-07-15 19:06:31
【问题描述】:

这是我使用三元运算符对其进行排序的浏览器中的错误,但它仍然无法正常工作。

TypeError: 无法读取未定义的属性“地图”

我的代码是:

const HomeScreen  = () => {

const productList = useSelector(state => state.productList);
const { products, loading, error} = productList;
const dispatch = useDispatch();

useEffect(() => {
    dispatch(listProducts());        
    
}, [])

return ( 
    loading ? <div>Loading...</div>:
        error ? <div>{error}</div> : 
            <ul className="products">
              {
                products.map(product =>
                <li key={product._id}>
                    <div className="product">

【问题讨论】:

  • productList 不包含属性products。你能console.log(productList) 并提供值(在返回之前进行控制台)吗?
  • 请用完整代码更新代码 sn-p.. 这包含很多缺少的括号.. 阅读和弄清楚很痛苦

标签: reactjs dictionary


【解决方案1】:

products 在您调用地图时可能尚未加载,为确保在映射之前已加载products,请将products.map(product =&gt; 更改为products &amp;&amp; products.length &amp;&amp; products.map(product =&gt;

【讨论】:

    猜你喜欢
    • 2021-04-03
    • 2021-08-01
    • 1970-01-01
    • 2020-11-19
    • 2022-10-18
    • 2020-07-27
    • 2012-04-06
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多