JSX中的混合运算符

hug*_*ana 1 jsx reactjs

我想在JSX中使用混合运算符,例如:

{datas && datas.map(function(data,i){ return <MyComponent key={i} />}) || []}
Run Code Online (Sandbox Code Playgroud)

虽然这在技术上有效,但ES lint警告说"无混合运营商".这是在JSX中使用的安全模式吗?

Mic*_*mpl 9

ESLint文档:

禁止不同运营商的混合(非混合运营商)

用括号括起复杂的表达式可以澄清开发人员的意图,使代码更具可读性.当规则中连续使用不带括号的不同运算符时,此规则会发出警告.

var foo = a && b || c || d;    /*BAD: Unexpected mix of '&&' and '||'.*/
var foo = (a && b) || c || d;  /*GOOD*/
var foo = a && (b || c || d);  /*GOOD*/
Run Code Online (Sandbox Code Playgroud)

如果您不希望收到有关混合运算符的通知,则可以安全地禁用此规则.

希望这可以帮助.