array.map 上的 ESLint prefer-arrow-callback
ESLint prefer-arrow-callback on array.map
import React from 'react';
export default class UIColours extends React.Component {
displayName = 'UIColours'
render() {
const colours = ['black', 'red', 'white', 'orange', 'green', 'yellow', 'blue', 'darkblue', 'lilac', 'purple', 'darkPurple'];
return (
<div className="ui-colours-container row bg-white">
<div className="col-md-16 col-xs-16 light">
<div className="color-swatches">
{colours.map(function(colour, key) {
return (
<div key={key} className={'strong color-swatch bg-' + colour}>
<p>{colour}</p>
</div>
);
})}
</div>
</div>
</div>
);
}
}
12:26 error Unexpected function expression prefer-arrow-callback
我查看了地图文档,但找不到多参数的好例子。
您可以这样重写 map
:
{colours.map(colour => (
<div key={`colour-${colour}`} className={`strong color-swatch bg-${colour}`}>
<p>{colour}</p>
</div>
)}
给定的颜色名称似乎是独一无二的,您可以毫无问题地将它们用作 key
s。
出现该 ESLint 规则是因为您有一个匿名函数作为回调,所以它建议您改用箭头函数。要将多个参数与箭头函数一起使用,您需要用括号将参数括起来,例如:
someArray.map(function(value, index) {
// do something
});
someArray.map((value, index) => {
// do something
});
一如既往,the MDN docs for arrow functions 对可与箭头函数一起使用的变体进行了非常详细的解释。
或者,您可以禁用该 ESLint 规则或对其进行更改,使其不会就命名回调发出警告。该 ESLint 规则的文档是 prefer-arrow-callback.
import React from 'react';
export default class UIColours extends React.Component {
displayName = 'UIColours'
render() {
const colours = ['black', 'red', 'white', 'orange', 'green', 'yellow', 'blue', 'darkblue', 'lilac', 'purple', 'darkPurple'];
return (
<div className="ui-colours-container row bg-white">
<div className="col-md-16 col-xs-16 light">
<div className="color-swatches">
{colours.map(function(colour, key) {
return (
<div key={key} className={'strong color-swatch bg-' + colour}>
<p>{colour}</p>
</div>
);
})}
</div>
</div>
</div>
);
}
}
12:26 error Unexpected function expression prefer-arrow-callback
我查看了地图文档,但找不到多参数的好例子。
您可以这样重写 map
:
{colours.map(colour => (
<div key={`colour-${colour}`} className={`strong color-swatch bg-${colour}`}>
<p>{colour}</p>
</div>
)}
给定的颜色名称似乎是独一无二的,您可以毫无问题地将它们用作 key
s。
出现该 ESLint 规则是因为您有一个匿名函数作为回调,所以它建议您改用箭头函数。要将多个参数与箭头函数一起使用,您需要用括号将参数括起来,例如:
someArray.map(function(value, index) {
// do something
});
someArray.map((value, index) => {
// do something
});
一如既往,the MDN docs for arrow functions 对可与箭头函数一起使用的变体进行了非常详细的解释。
或者,您可以禁用该 ESLint 规则或对其进行更改,使其不会就命名回调发出警告。该 ESLint 规则的文档是 prefer-arrow-callback.