问题描述
我今天面临一个奇怪的问题,
我有一个用流输入的React组件(也就是SEO的flowtype),由于某种原因,它在这里显示输入错误,这是简化的代码。
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
对多组件文件不满意的错误吗?
更新:好像是一个臭虫错误,由于某种原因,当像这样分解道具然后使用someObject.someKey
时,它可以工作:
const { someObject } = this.props;
1楼
AndrewSouthpaw
1
已采纳
2019-02-15 02:35:22
目前,这是一个臭虫,请报告。
可以通过破坏frontendgirl所提到的道具来补救,尽管这看起来似乎不是干净的代码,但您只需要对具有地图对象的组件(带有索引器属性的组件, { [string]: string }
。