javascript – 预计返回箭头值; function array-callback-return.为什么?
作者:互联网
我有一些问题需要理解为什么我会在这段反应代码上收到编译警告
fetch('/users')
.then(res => res.json())
.then(data => {
data.map(users => {
console.log(users);
});
});
我得到的警告是预期在箭头函数array-callback-return中返回一个值
但是我仍然从我的/ users获取json对象值,并且它们分别打印到控制台.对象是:
{
id: 1,
username: "Foo"
}, {
id: 2,
username: "Bar"
}
我错过了一个return语句,还是我错过了一些关于map在.then()之后返回值的东西?我不清楚为什么编译警告会出现.
解决方法:
data.map函数(检查Array.map规范:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)将一个数组(在您的情况下为数据)转换为新数组.此映射由data.map的参数定义. data.map(回调函数)的参数,在你的情况下是箭头函数users => {console.log(users);}必须返回一个值.通过为每个数组元素返回一个值,data.map如何定义映射.
但在你的情况下,回调函数不返回任何东西,只是console.logs.在您的情况下,您可以使用data.forEach(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach),因为您不使用Array.map功能.
注意:如果您决定使用data.map,您应该使用单数(而不是复数)名称作为回调的参数:data.map(user => {console.log(user);});现在为每个用户调用.
标签:javascript,arrays,ecmascript-6,arrow-functions 来源: https://codeday.me/bug/20190712/1441369.html