我有两个组件(聪明和愚蠢)如下:
// Container component file...
interface OwnProps {
id: Id;
}
function mapStateToProps(state: State, ownProps: OwnProps) {
return { isActive: ... };
}
export const Container: any = connect(mapStateToProps, null)(DumbComponent);
// Dumb component file...
interface DumbComponentProperties {
isActive: boolean;
}
export class DumbComponent extends React.Component<DumbComponentProperties, {}> {
...
}
我在DumbComponent
connect
内的id
下发出了一个红色波浪警告:
类型'typeof DumbComponent'的参数不能赋值给 输入'Component OwnProps&amp; {isActive:boolean; }” ....&GT;
如果我通过id?
选择DumbComponent
,则会修复错误。这看起来像TypeScript认为OwnProps
需要id
类型,因为isActive
作为道具传递给它?我不明白为什么会出现这种情况,不仅是DumbComponent
属性被传递给curl -XDELETE http://localhost:9200/myindex-1,myindex-2,myindex-3,myindex-4
吗?
答案 0 :(得分:2)
我认为您的代码没有任何问题,但输入mapStateToProps函数是一个很好的做法,例如,
function mapStateToProps(state: State, ownProps: OwnProps): DumbComponentProperties {
return { isActive: ... };
}