我今天遇到一个奇怪的问题,
我有一个用流输入的React组件(也就是SEO的流类型),由于某种原因,它在此处显示输入错误,这是简化的代码。
type Props = {
someObject: { [string]: string },
};
class ComponentOne extends React.Component<Props> {
render() {
return (
// No idea why there's a linting error, seems like a bug
<div className={this.props.someObject.someKey} />
);
}
}
const WithEnhancements = enhance(magic)(ComponentOne);
export default () => (
<RenderPropComponent>
{({ someProp }) => {
return <WithEnhancements someProp={someProp} />;
}}
</RenderPropComponent>
);
错误为'someObject.someKey' is missing in props validation
。
我快要撞墙了,不知道可能是什么原因,对于其他组件中使用的相同数据结构进行相同类型的输入绝对可以,因为eslint
的错误可能导致多组件不满意文件?
更新:似乎是一个eslint错误,由于某种原因,当像这样分解道具然后使用someObject.someKey
时,它可以工作:
const { someObject } = this.props;
答案 0 :(得分:1)
here报告说,这是目前的错误。可以通过破坏frontendgirl提到的props来补救,尽管这看起来似乎不是干净的代码,但是您只需要对拥有map对象的组件(带有索引器属性{{1} }。