Reactjs 为什么在当前范围内使用与变量同名的道具会被视为阴影?
我目前正在将tslint与Reactjs 为什么在当前范围内使用与变量同名的道具会被视为阴影?,reactjs,tslint,Reactjs,Tslint,我目前正在将tslint与tslint:recommended一起使用,这意味着不允许阴影: "no-shadowed-variable": true 虽然我理解这意味着什么,但我惊讶地发现以下代码片段不符合此规则: const createMenuItem = (iconElement, menuItem, showOn) => ( <SMenuItemContent showOn={showOn}> {iconElement} {menuItem}
tslint:recommended
一起使用,这意味着不允许阴影:
"no-shadowed-variable": true
虽然我理解这意味着什么,但我惊讶地发现以下代码片段不符合此规则:
const createMenuItem = (iconElement, menuItem, showOn) => (
<SMenuItemContent showOn={showOn}>
{iconElement}
{menuItem}
</SMenuItemContent>
);
shown
是如何被隐藏的?也许您在同一个文件的更大范围(文件级别)上定义了shown
?。在我看来,它应该自己工作。是createMenuItem
一个React组件吗?如果你从道具中解构变量,你会得到同样的结果吗<代码>常量createMenuItem=({IConeElement,menuItem,showOn})=>(…)
var createMenuItem = function createMenuItem(iconElement, menuItem, showOn) {
return React.createElement(
SMenuItemContent,
{ showOn: showOn },
iconElement,
menuItem
);
};