提问人:rodrigo-silveira 提问时间:5/13/2015 最后编辑:Dougrodrigo-silveira 更新时间:1/26/2018 访问量:620
PHPStorm 上的 JSX 语法错误
JSX syntax error on PHPStorm
问:
我正在尝试有条件地在元素集合上设置属性。
render: {
var buttons = [];
for (var i = 1; i <= this.props.totalWeeks; i++) {
buttons.push(
<button
onClick={ this.changeWeek.bind(this, i) }
disabled={ i === this.state.currWeek }>{ i }
</button>);
}
}
在浏览器中一切正常。但是 PHPStorm(版本 8.0.3)将表达式标记为错误属性值的错误。{ i === this.state.currWeek }
我尝试过用函数调用、变量等来改变它,但似乎无法使错误消失。我也尝试在 PHPStorm 上关闭该检查规则,但找不到可以关闭该规则的设置。
问题
我怎样才能在PHPStorm中消除这个错误?如果这是一个错误,那么我如何通过以其他方式有条件地将 HTML 属性添加到一组元素来摆脱它?
答:
0赞
Maksym Bondarchuk
1/26/2018
#1
1)如果它是react的渲染(不是你的自定义函数),它应该是“render() { return ; }”针对你的代码
这是 100% 的语法错误,浏览器会忽略它,因为它应该,如果你在类定义体中使用它,语法是下一个:
class Test {
objectExample: { some: "value" }
functionExample() { return someExecutionCode(); }
lambdaFunctionExample = () => { return someExecutionCode(); }
}
但是你同时混合了第一行和第二行,从对象定义开始,主体作为一个函数,它们彼此不合适。
2)你的渲染函数不返回任何东西,它正在制作数组,但不返回它。
评论