我想在 JSX 中使用混合运算符,例如:
{datas && datas.map(function(data,i){ return <MyComponent key={i} />}) || []}
虽然这在技术上可行,但 ES lint 警告“非混合运算符”。这是在 JSX 中使用的安全模式吗?
我想在 JSX 中使用混合运算符,例如:
{datas && datas.map(function(data,i){ return <MyComponent key={i} />}) || []}
虽然这在技术上可行,但 ES lint 警告“非混合运算符”。这是在 JSX 中使用的安全模式吗?
用括号将复杂的表达式括起来阐明了开发人员的意图,这使代码更具可读性。当在表达式中连续使用不同的运算符而没有括号时,此规则会发出警告。
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*/
如果您不想收到有关混合运算符的通知,则禁用此规则是安全的。
希望这可以帮助。
您可以像这样将括号括起来。它不会显示该警告。
{datas && (datas.map(function(data,i){ return <MyComponent key={i} />}) || [])}
它对我有用。