【问题标题】:console.log inside a map in react component反应组件中的地图内的console.log
【发布时间】:2018-02-14 15:40:46
【问题描述】:

我有一个反应组件,我需要调试'map'产生“customers.map(customer =>”的'customer'元素的值。

我之前试过“”这个

{ console.log (customer)}

但我收到错误,这里是组件:

const CustomersList = ({ data: {loading, error, customers }}) => {
    if (loading) {
        return <p style={{color:"red"}}>Loading ...</p>;
    }
    if (error) {
        return <p>{error.message}</p>;
    }

    return (
        <div>
            Customers List
            { customers.map( customer =>
                (<div  key={customer.id} >Hey {customer.firstname}</div>)
            )}
        </div>
    );
};

【问题讨论】:

  • 您当前正在使用带有隐式返回的map。因此,您无法在地图中 console.log()。结帐@MayankShukla 答案

标签: reactjs


【解决方案1】:

{}block body的箭头函数一起使用,并将console.log放入其中,块体需要使用return来返回ui元素。

像这样:

{ 
    customers.map( customer => {
        console.log(customer);
        return <div  key={customer.id} >Hey {customer.firstname}</div>
    })
}

根据MDN DOC

箭头函数可以有一个“简洁的主体”或通常的“块” 身体”。

在简洁的正文中,只需要一个表达式,一个隐含的 附上退货。在块体中,您必须使用显式返回 声明。

例子:

var func = x => x * x;                  
// concise syntax, implied "return"

var func = (x, y) => { return x + y; }; 
// with block body, explicit "return" needed

【讨论】:

  • 为什么 '(
    Hey {customer.firstname}
    )' 需要括号?
  • ()是可选的,我们可以去掉它(不是必须的),直接写return &lt;div&gt;....&lt;/div&gt;
猜你喜欢
  • 1970-01-01
  • 2019-06-12
  • 2016-06-04
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 2023-04-03
相关资源
最近更新 更多