Reactjs 将整个道具传递给辅助函数会触发eslint道具类型错误

Reactjs 将整个道具传递给辅助函数会触发eslint道具类型错误,reactjs,eslint,react-proptypes,Reactjs,Eslint,React Proptypes,我有一个简单的无状态组件,如下所示(具有多个属性,仅用于演示): 从“道具类型”导入道具类型 从“React”导入React 从“…”导入MyDropdown 功能渲染下拉列表(道具){ 返回props.isOpened和& } 常量MyComponent=函数(道具){ 返回( {renderDropdown(道具)} ) } MyComponent.propTypes={ isOpened:PropTypes.bool } MyComponent.defaultProps={ Isoped:

我有一个简单的无状态组件,如下所示(具有多个属性,仅用于演示):

从“道具类型”导入道具类型
从“React”导入React
从“…”导入MyDropdown
功能渲染下拉列表(道具){
返回props.isOpened和&
}
常量MyComponent=函数(道具){
返回(
{renderDropdown(道具)}
)
}
MyComponent.propTypes={
isOpened:PropTypes.bool
}
MyComponent.defaultProps={
Isoped:错误
}
导出默认MyComponent
当我使用
estlint
对其进行验证时,它会抛出许多错误,指出道具验证中缺少属性,如下所示:


如果我只是传递必要的属性,或者如果我将函数移动到渲染器内部,它将非常有效。

这似乎是一个与以下ESLint问题相关的问题:

在第一期中,一些人提到这可能是由于简单的打字错误造成的,比如使用
PropTypes
而不是
PropTypes
。我确实在上面的代码中看到了一个输入错误(
MyComponent.propTyps
),但作为示例代码,我怀疑这是问题所在

其中提到的另一个潜在问题是由于分解
this.props
,修复方法是使用以下方法避免分解
this.props

const props = this.props;
而不是使用其中一个:

const {items, checked, onCheck} = this.props;
或者使用长柄语法选择属性:

this.props.items
或将
this.props
分配给新变量:

const myProps = this.props

但是,中似乎也提出了一个修复方案,因此您可能只需要等待并在推送修复方案时更新ESLint。

谢谢@Yurytarabankow这些错误在哪里?您可以共享该文件吗?似乎
props
是一个保留字,它会弄乱道具类型验证。解决方案很简单,我已将
renderDropdown
函数的参数重命名为
props
以外的任何参数。是的,这是本期中推荐的方法之一。听起来好像正在进行修复,所以一旦ESLint可用,您需要更新它,然后您可以返回到标准命名约定。无论如何,您的回答对我帮助很大,您可以添加更多信息以便我可以接受吗?我的意思是,关于名为
props
的参数。
const myProps = this.props